我是Biztalk的新手,我已经使用了WCF服务并创建了自己的架构和业务流程。 然后发布了WCF服务,一切顺利,但是当我从SOAP UI运行已发布的服务时,我在Biztalk服务器管理员中获得此异常
xlang / s引擎事件日志条目:未捕获的异常(请参阅下面的'内部异常')已暂停服务实例' BizTalkEmployeeInfo.BizTalk_Orchestration1(8e85552e-b611-e6a6-655f-b3b58002a88d )&#39 ;. 在管理恢复或终止之前,服务实例将保持暂停状态。 如果恢复,实例将从其上一个持久状态继续,并可能重新抛出相同的意外异常 InstanceId:eb2b7522-db03-40f0-9cfa-28509fea03b0
形状名称:
ShapeId:
抛出异常:段-1,进度-1
内部异常:收到意外消息类型' http://schemas.xmlsoap.org/soap/envelope/#Fault'与预期类型不匹配' http://tempuri.org/#EmployeeDetailsFormattedResponse'。异常类型:UnexpectedMessageTypeException 资料来源:Microsoft.XLANGs.Engine 目标站点:Void VerifyMessage(Microsoft.XLANGs.Core.Envelope,System.String,Microsoft.XLANGs.Core.Context,Microsoft.XLANGs.Core.OperationInfo) 以下是一个堆栈跟踪,用于标识Microsoft.XLANGs.Core.PortBinding.VerifyMessage(Envelope env,String typeName,Context cxt,OperationInfo op)中发生异常的位置 在Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBinding.VerifyMessage(Envelope env,String typeName,Context cxt,OperationInfo op) 在Microsoft.BizTalk.XLANGs.BTXEngine.BTXLogicalPortBinding.VerifyMessage(Envelope env,String typeName,Context cxt,OperationInfo op) 在Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(Envelope env,Int32 operationId,Context ctx) 在Microsoft.XLANGs.Core.Subscription.Receive(Segment s,Context ctx,Envelope& env,Boolean topOnly) 在Microsoft.XLANGs.Core.PortBase.GetMessageId(订阅订阅,Segment currentSegment,Context cxt,Envelope& env,CachedObject位置) 在BizTalkEmployeeInfo.BizTalk_Orchestration1.segment1(StopConditions stopOn) 在Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s,StopConditions stopCond,Exception& exp)
有人可以帮忙吗。
答案 0 :(得分:1)
您的Web服务抛出异常 - 这是http://schemas.xmlsoap.org/soap/envelope/#Fault类型的消息,但BizTalk消息传递/编排引擎不知道如何处理它。您需要配置发送端口和业务流程以处理soap异常。有关详细信息,请参见此处 https://blogs.msdn.microsoft.com/biztalknotes/2013/02/12/how-to-handle-fault-message-in-biztalk-server/
答案 1 :(得分:0)
调试这些的一种非常方便的方法是使用fiddler。在您的发送端口中设置fiddler作为代理。来自biztalk的通信经过,当它充当代理时,由小提琴手记录。您可以轻松查看BizTalk故障隐藏的响应。