views:

448

answers:

2

Hi!

In Biztalk 2006 I have a custom pipeline that split a file into many files, before each file get mapped. In the send pipeline I use "Use Temporary file for writing". My question is: When splitting messages and use "Use Temporary file for writing", will every one of the splitted files be moved to the out folder from the temp folder at the same time or is each one of the splitted files moved to the out folder as soon as it's done, not waiting for the other files? The files are very smal so I haven't found out. I just want to know the standard behaviour so I don't have to use much time to create big files and watch the result. Thanks for help :)

A: 

From your description I'm not 100% sure I fully understand your scenario

I assume you're splitting the file through a disassembler in the receive pipeline, and that your reference to "Use Temporary file for writing" refers to the file send adapter setting and that this send port subscribes to the messages from the receive port.

Given this scenario each output message (a fragment of the original incoming message) will be processed independently and will be delivered as soon as possible, certainly after the message box (on the send side)

If you have a RecoverableInterchangeProcessing setting on your disassembler, and you have set it to True, the messages will be processed completely independently; if this setting is false they will all be committed to the message box together, but then BizTalk may pick them up in any order.

Yossi Dahan
+1  A: 

You can do this in BizTalk by taking advantage of several of it's features. The first feature is all about batching and debatching use envelope schemas. These are techniques used to split an XML document into many smaller documents (ie. An XML doc that contains 500 purchase orders into 500 XML Docs each containing one purchase order). And then likewise to assemble them again on the send. Here is an article on how to achieve this: http://msdn.microsoft.com/ja-jp/library/aa578216.aspx

Depending on what exactly you are doing too, you can use an XPath expression to debatch the message in an orchestration and handle each individual message in the orchestration. The orchestration can then reassemble the outgoing messages into a single instance.

Tell us a littl emore about what you are trying to do.

ChrisLoris