【问题标题】:Received unexpected message type does not match expected type Biztalk收到的意外消息类型与预期类型不匹配 Biztalk
【发布时间】:2018-05-16 20:26:52
【问题描述】:

我是 Biztalk 的新手,我使用了 WCF 服务并创建了自己的架构和编排。 然后发布了 WCF 服务,一切顺利,但是当我从 SOAP UI 运行发布的服务时,我在 Biztalk 服务器管理员中遇到了这个异常

xlang/s 引擎事件日志条目:未捕获的异常(请参阅下面的“内部异常”)已暂停服务“BizTalkEmployeeInfo.BizTalk_Orchestration1(8e85552e-b611-e6a6-655f-b3b58002a88d)”的实例。 服务实例将保持挂起状态,直到以管理方式恢复或终止。 如果恢复,实例将从其上次持久状态继续,并可能重新引发相同的意外异常。
InstanceId:eb2b7522-db03-40f0-9cfa-28509fea03b0
形状名称:
形状标识:
抛出异常:段 -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(信封 env、字符串 typeName、上下文 cxt、OperationInfo op) 在 Microsoft.BizTalk.XLANGs.BTXEngine.BTXLogicalPortBinding.VerifyMessage(信封 env,字符串 typeName,上下文 cxt,OperationInfo op) 在 Microsoft.BizTalk.XLANGs.BTXEngine.BTXPortBase.VerifyTransport(信封 env,Int32 operationId,上下文 ctx) 在 Microsoft.XLANGs.Core.Subscription.Receive(Segment s、上下文 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)

有人可以在这里帮忙吗。

【问题讨论】:

  • 正如 Sanoraya 所说,您从所调用的服务中收到了错误消息。您确实需要为它编写代码(以处理偶尔的异常/中断),但如果您一直得到它,那么您显然没有正确调用服务。但是,您没有向我们提供任何信息来帮助我们诊断您做错了什么。

标签: biztalk biztalk-2009


【解决方案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/

【讨论】:

    【解决方案2】:

    调试这些的一个非常方便的方法是使用fiddler。在您的发送端口中将提琴手设置为代理。来自 biztalk 的通信在 fiddler 充当代理时通过并由 fiddler 记录。您可以轻松查看隐藏 BizTalk 故障的响应。

    【讨论】:

      猜你喜欢
      • 2021-10-10
      • 2019-09-06
      • 2017-07-15
      • 2019-04-30
      • 1970-01-01
      • 1970-01-01
      • 2015-04-15
      • 2020-07-21
      相关资源
      最近更新 更多