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 "
http://testcompany.Biztalk.Schemas/EAI/Schema2"
"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.

0 Comments:

Post a Comment

<< Home