Passing flatfile (non xml format) into orchestration-Collection of common programming errors
.png)
msdn Hi, I am new to the BizTalk world, and I have some issues hope can seek some help from the experts in this forum. I have a integration services package that unzips a zip file then load the data into database from the file. Now I need BizTalk to monitor the folder so that whenever someone drops a zip file into the folder, the package will be executed automatically. My problem now is how do I make BizTalk orchestration accept a flatfile that is not in XML format? I tried a few different ways such as having System.IO.File or System.Xml.XmlDocument message type but didnt have luck. Can someone please guide me on how BizTalk handle this scenario? Thanks in advance..png)
msdn1 Hi,There are two important things to take into account when receiving non XML messages in an orchestration:1. Use passthrough pipeline. Do not use XmlReceive pipeline as this considers the incoming message to be XML.2. Use System.Xml.XmlDocument in the orchestration for the message you receive.Of course there might be good reasons to do it this way but it looks like using BizTalk server just to trigger a SSIS package seems a bit
cumbersome. I don’t know your exact scenario so I might be very wrong here.
.png)
msdn2My problem now is how do I make BizTalk orchestration accept a flatfile that is not in XML format? I tried a few different ways such as having System.IO.File or System.Xml.XmlDocument message type but didnt have luck.
You have two options for getting a flat file into an orchestration:1. Create a flat file schema for it, that matches the input file (and possibly a unzip component as well?). Then use a custom pipeline with the flat file disassembler to parse the flat file at runtime, which automatically creates XML. Let your orchestration receive a message of this type (the schema you ahve created). And bind the orchestration receive port to the physical port.2. Bind your orchestration to the physical receive port, and receive a message of type System.Xml.XmlDocument. I know you wrote that you tried this allready, but you must have done something wrong, since this is how you do it.