Search code examples
biztalkbiztalk-2013

Fatal error encountered in 2XDasm. Exception information is Object reference not set to an instance of an object


I've been doing some changes to a BizTalk application lately, all has been going well, I moved it from development to the Test environment and the application I was working on still works nicely.

The problem is, suddenly an existing application, whenever it receives an HL7 message gets the following error:

Fatal error encountered in 2XDasm. Exception information is Object reference not set to an instance of an object.

Followed by:

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.

Followed again by:

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}

The only difference between these two applications is that the one that works is using a custom Pipeline component whereas the one that is erroring is using the default BizTalk BTAHL72XReceivePipeline (as you can probably see by the error.)

Has anyone experience this? I've seen a couple posts on random sites with people having the error, but nothing that relates to mine.


Solution

  • Well I found the answer. Very bittersweet.

    At some point I must have been messing with the EncodingCharset on my receive location in development. I didn't touch that location for months, then when I moved to test, I copied over the bindings and as well as the bad EncodingCharset.

    It turned out that I had an empty EncodingCharset in the BTAHL72xReceivePipeline configuration. As soon as I set to ",0" then things worked again.

    Here's an image to what I'm talking about.

    enter image description here