Biztalk 2004 Integration Experiences

Tuesday, May 03, 2005

Biztalk Xml Disassembler Bug?

Recently when helping out my colleague with a biztalk project and I noticed an issue with the Biztalk Xml Disassembler, which appears to be a bug to me.

The requirement was simple. It's to receive a message, remove the envelope from the message and pass it to an Orchestration. I created a prototype to illustrate this, The Biztalk project had a receive pipeline in which there was a Xml Disassembler in the Disassemble stage. I had selected an envelope schema and a few document schemas.

When I tested the solution I got an error like below

There was a failure executing the receive pipeline: "TestProject1.ReceivePipeline1" Source: "Microsoft.BizTalk.Pipeline.Components" Receive Location: "C:\TestPipeline\In\*.xml" Reason: Index was outside the bounds of the array.

After hours of troubleshooting I found that the reason was some of the document schemas specified in the property designer did not have namespace and one of them had a namespace, like below

"Schema1" - namespace ""
"Schema2" - namespace "
"Schema3" - namespace ""

Looks like if you mix and match schemas with/without namespaces, the Xml Disassembler does not work.

Temporary fix was to remove the namespace from "Schema2" and it worked. Hope this would be fixed in the next Service pack.


Post a Comment

<< Home