2

最近我一直在对 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}

这两个应用程序之间的唯一区别是,一个有效的是使用自定义管道组件,而出错的一个是使用默认的 BizTalk BTAHL72XReceivePipeline(正如您可能从错误中看到的那样。)

有没有人经历过这个?我在随机网站上看到过一些 帖子,其中有人有错误,但与我的没有任何关系。

4

1 回答 1

3

好吧,我找到了答案。非常苦乐参半。

在某些时候,我一定是在开发中的接收位置上弄乱了 EncodingCharset。我好几个月都没有碰过那个位置,然后当我开始测试时,我复制了绑定以及错误的 EncodingCharset。

原来我在 BTAHL72xReceivePipeline 配置中有一个空的 EncodingCharset。一旦我设置为“,0”,事情就会再次起作用。

这是我正在谈论的图像。

在此处输入图像描述

于 2014-10-27T17:16:44.887 回答