This is tricky.. As far as I know this is quite poorly in BizTalk. Considre the scenario: I have an existing solutuion where the core component takes a multipart message. This consists of 3 parts. Now I whant to expand the solution and utillize this core component. This means that the new orchestration needs to submitt a multipartmessage to the core. The core component needs to receive the message with the parts in the same order as its own mulitipart message is defined. Lets say the parts are : EmailBody, EmailOriginalAttacment, and EmailProcessedAttachment. In order to get the two orchestration to talk to eachother the new mulipartmessage parts have to be created in the same order as the original one. It is not enough to call them the same and populate them wiht the correct content. This means that for a 3 part message there are 3! = 6 numbers to define the message. And hopefully you dont do as I and find the correct on the fifth attempt. If you just at one more part you have 4! = 24...