我的环境中最近在BizTalk的工作遇到一个问题,想咨询下是否有解决思路。详细如下:
问题简述:
开发的BizTalk消息对接程序,System.String类型的字符串赋值给System.String类型的消息,运行时报“收到的意外消息类型“”与预期类型“string”不符。”
详细说明:
BizTalk程序中构造消息,给消息赋值:msgRegisterDeviceJSON = strRegisterDeviceJSON;
消息为System.String类型,右边也是System.String类型的字符串,编译并无问题,运行时报如下的错误::
xlang/s engine event log entry: 未捕获的异常(请参阅下面的“内部异常”)已经挂起服务“ZTE.B2B.Customers.WeChat.TAM.Orch_TAM(044a7b9e-4b40-dbb9-3355-85bb05a3a999)”的一个实例。
在管理性地恢复或终止该服务实例前,它将保持挂起状态。
如果恢复了该服务实例,它将从上次持续的状态继续,这可能再次引发同样的异常。
实例 ID: 7b7ed861-a2b9-4bc7-a650-05c8b07b5be3
形状名称:
形状 ID:
引发异常的位置: 段 -1,进程 -1
内部异常: 收到的意外消息类型“”与预期类型“string”不符。
异常类型: 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(Subscription subscription, Segment currentSegment, Context cxt, Envelope& env, CachedObject location)
在 ZTE.B2B.Customers.WeChat.TAM.Orch_TAM.segment1(StopConditions stopOn)
在 Microsoft.XLANGs.Core.SegmentScheduler.RunASegment(Segment s, StopConditions stopCond, Exception& exp)