我最近对BizTalk应用程序进行了一些更改,一切都进展顺利,我将它从开发转移到测试环境,我正在处理的应用程序仍然运行良好。
问题是,突然一个现有的应用程序,每当收到HL7消息时都会收到以下错误:
Fatal error encountered in 2XDasm. Exception information is Object reference not set to an instance of an object.
其次是:
There was a failure executing the receive pipeline: "BTAHL72XPipelines.BTAHL72XReceivePipeline, BTAHL72XPipelines, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "BTAHL7 2.X Disassembler" Receive Port: "RP.MyPort.HL7v2.ORU" URI: "0.0.0.0:11001" Reason: Object reference not set to an instance of an object.
再次跟随:
A message received by adapter "MLLP" on receive location "RPL.MyLocation.HL7v2.ORU.MLLP" with URI "0.0.0.0:11001" is suspended.
Error details: There was a failure executing the receive pipeline: "BTAHL72XPipelines.BTAHL72XReceivePipeline, BTAHL72XPipelines, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" Source: "BTAHL7 2.X Disassembler" Receive Port: "RP.MyPort.HL7v2.ORU" URI: "0.0.0.0:11001" Reason: Object reference not set to an instance of an object.
MessageId: {7B940750-046A-4E63-9268-EF76F6458CFE}
InstanceID: {5FC204B1-69DE-433E-B90B-AB1E9F77B3B7}
这两个应用程序之间的唯一区别是,有效的一个是使用自定义Pipeline组件,而出错的是使用默认的BizTalk BTAHL72XReceivePipeline(正如您可能通过错误看到的那样)。
答案 0 :(得分:3)
我找到了答案。非常苦乐参半。
在某些时候,我一定是在开发中的接收位置弄乱了EncodingCharset。几个月来我没有碰过那个位置,然后当我开始测试时,我复制了绑定以及坏的EncodingCharset。
事实证明,我在BTAHL72xReceivePipeline配置中有一个空的EncodingCharset。一旦我设置为“,0”,那么事情就会再次发挥作用。
这是我正在谈论的图像。