我正在编写.Net C#Web服务,该服务用于使用WS-Security在我们的某个供应商处调用远程Axis2 Web服务
它必须作为一个COM可见的DLL文件托管,因为我实际上使用Coldfusion 9作为主要的Application Server而且我已经放弃了.Net,因为我真的不想仅使用Java作为Coldfusion 9支持Axis 1.1和我在那里运行的大量其他Web服务,我不希望类加载影响这些服务的问题
我的.Net能力有限,因为我真的是一只Java猴子,但是当Coldfusion不喜欢与远程网络服务交谈时,我过去曾用它来创建网络服务。
我遇到的这个问题似乎与服务的调用有关,它引发了以下错误
System.ServiceModel.FaultException:BusinessObject: Q1SearchOrderReferenceType @ 67af67af(参考= Q1TextType @ 67c067c0, AllocatedBy = Q1TextType @ 67dd67dd)
服务器堆栈跟踪:
在 System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime 操作,ProxyRpc& rpc)at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway,ProxyOperationRuntime操作,Object [] ins, 对象[]出局,TimeSpan超时)at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall,ProxyOperationRuntime operation)at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(即时聊天 消息)
在[0]处重新抛出异常:
在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(即时聊天 reqMsg,IMessage retMsg)at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData&安培; msgData,Int32类型)at TCAB2BWebService.ForwardOrder(ForwardOrderRequest请求)at uk.co.etsos.coal.CoalGateway.RequestCoal(CoalOrderDetails ORDERDETAILS)
我正在打电话
this.client.Open();
Q1SearchOrderType searchRequest = setCoalOrderDetails(orderDetails);
Q1SearchProductReferenceType1 productReference;
XMLHelper<Q1SearchOrderType> requestXMLHelper = new XMLHelper<Q1SearchOrderType>(baseDirectory);
requestXMLHelper.Save(searchRequest, orderDetails.MessageId, orderDetails.SecurityId, "Request");
Q1SearchOrderReferenceType1 response = this.client.ForwardOrder(searchRequest, out productReference);
CoalUtil.writeToLogFile(ObjectInspector.Dump(response).ToString(), this.logFile);
CoalUtil.writeToLogFile(ObjectInspector.Dump(productReference).ToString(), this.logFile);
它永远不会到达writeToLogFile - 所以在ForwardOrder上抛出了错误,它是由WSDL的svcutil生成的
public Q1SearchOrderReferenceType1 ForwardOrder(Q1SearchOrderType SearchOrder, out Q1SearchProductReferenceType1 SearchProductReference)
{
ForwardOrderRequest inValue = new ForwardOrderRequest();
inValue.SearchOrder = SearchOrder;
ForwardOrderResponse retVal = ((TCAB2BWebService)(this)).ForwardOrder(inValue);
SearchProductReference = retVal.SearchProductReference;
return retVal.SearchOrderReference;
}
我完全被困在地球上我做错了什么,任何想法都会受到赞赏