After migrating our biztalk app to 2009 we received a confusing error message everytime we dropped a file into a file receive location with a pipeline containing a bunch of pipeline components:
"There was a failure executing the receive pipeline:
...
Reason: Attempted to read or write protected memory. This is often an indication that other memory is corrupt"
After along irritating searching we finally debugged the pipeline component and find the root cause:
The call of
message.Context.Read(propertyName, propertyNamespace);
within an pipeline component must not be done with a "Null" value of "propertyNamespace". Obviously there is no internal check for this and the following call within the unsafe code leads into a Null reference call and the error message above.
Random pitfalls (and their solutions) in EAI technologies such as BizTalk
Showing posts with label BizTalk error. Show all posts
Showing posts with label BizTalk error. Show all posts
Tuesday, December 8, 2009
Friday, October 23, 2009
The part '%messagepart%' of message '%multipart message%' contained a null value at the end of the construct block.
BizTalk throws the following error when one tries to create a multipart message with a message part that was just created from a map in the same construct shape:
Shape name: Send_1
ShapeId: 11910fdc-f4a1-4391-b09d-6a9bd0275ff8
Exception thrown from: segment 1, progress 11
Inner exception: The part '%messagepart%' of message '%multipart message%' contained a null value at the end of the construct block.
Exception type: NullPartException
Source: Microsoft.XLANGs.Engine
Target Site: Void CheckNonNull()
The following is a stack trace that identifies the location where the exception occured
at Microsoft.XLANGs.Core.Part.CheckNonNull()
Somehow, BizTalk looses the value of the message part that was NOT mapped.
A work-around for this is to create a second construct shape. One just creates the message part in a mapping, and the second shape puts the message parts together.
Thanks, Christian!
Shape name: Send_1
ShapeId: 11910fdc-f4a1-4391-b09d-6a9bd0275ff8
Exception thrown from: segment 1, progress 11
Inner exception: The part '%messagepart%' of message '%multipart message%' contained a null value at the end of the construct block.
Exception type: NullPartException
Source: Microsoft.XLANGs.Engine
Target Site: Void CheckNonNull()
The following is a stack trace that identifies the location where the exception occured
at Microsoft.XLANGs.Core.Part.CheckNonNull()
Somehow, BizTalk looses the value of the message part that was NOT mapped.
A work-around for this is to create a second construct shape. One just creates the message part in a mapping, and the second shape puts the message parts together.
Thanks, Christian!
Subscribe to:
Posts (Atom)