I have a send port in my BizTalk Application that has an XML Transmit pipeline on it. When I send a .xml file through it that is well-formed, it works just fine and the .xml file arrives at the destination folder untouched. However, if that file is NOT well-formed, the file will still go through to the destination folder, however anything after the namespace declaration is gone.
My question is two part, I suppose:
- Shouldn't the XML Transmit pipeline let ONLY well-formed XML through?
- What about the XML Transmit pipeline is stripping the rest of the XML from the file?
Many thanks in advance. One of my first posts, so let me know what I'm doing wrong or if I can be more clear in my questions/descriptions.
____UPDATE__________________________________________
To dig a little further into my problem here . . .
The gist of my BizTalk Application is this: Take in one .zip file full of .xml files in a receive location, spit out the individual .xml files in the send location, but ONLY those that are well-formed to the given schema.
In a well-formed world, the unzipping works like a charm based on a custom disassemble pipeline component. If all the .xml files are well-formed in the .zip file that I put in my receive location, the output is each individual .xml file like one would hope. However, if even just ONE of these files malformed, then the service instance is suspended and I'm dead in the water.
My receive pipeline consists of 3 components:
- A custom disassemble component that decompresses the .zip
- An XML Disassembler that has the given schema selected in the Document schemas collection, Recoverable Interchange set to True (This was my last hope :[ ), and Validate Documents set to true
- An XML Validator that has the given schema selected in the Document schemas collection and Recoverable Interchange set to True
I get an error when I put a .zip file with at least 1 malformed .xml document in it that says simply "The Messaging Engine encountered an error during the processing of one or more inbound messages."
So the real questions behind the questions, I suppose:
- If Recoverable Interchange is on, why would those messages that are well-formed not end up in the send location, while the others get suspended as expected?
- What can I do to get this outcome: where those messages that are well-formed get to the messagebox and those that aren't simply don't?
All help is appreciated for the BizTalk beginner. Thanks so much y'all.