WCF调用Axis2 webservice - System.ServiceModel.FaultException:BusinessObject

时间:2013-03-13 17:16:19

标签: .net wcf wcf-binding wcf-security

我正在编写.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;
}

我完全被困在地球上我做错了什么,任何想法都会受到赞赏

0 个答案:

没有答案