Posts

MTOM Attachment- i figured it out

Image
I prefer the WebServiceWizard when creating a webSerivce to use with BizTalk. The orchestration is already created so I just choose the orch dll in the wisard. When this is done I add the web service as a existing webService project to the Solution. After some tweeking on namespaces, portnames, SOAPAction, etc. I now have a fully functional WebService that may receive xml files and deliver them to an orchestration. And now the new stuff begins... First of all you have to install wse 3.0. Then you have to add the reference to Microsoft.Web.Service3 to the project. After this I had to restart VS in order to get the new item on the project property --> WSE 3. 0 properties. When this is enabled just rebuild and publish you new WebService, and a section is added in the WSDL describing the mtom attachment.

WebServices and MTOM

I am about to create a webService that receives in attition to xml, binary data. I have to receive this binary using mtom. This is something I havent dont before. According to the posts I have read it should be easy. I just have to enable mtom (WSE 3) in VS. i have no idea on how to do this.. Wi.ll update as son I have som answers

Multipart Messages

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...

The key to Continuations in BAM

When a solution needs BAM, and you what to link the receivedTime and sendTime together you have to use continuation. I have learned from my fellow BizTalk developer Knut Sølve Furset Urke an easy way to rememer ho how to do this. In the TPE you add a Continuation and a ContinuationID. Rename the ContinuationID to Continuation. There will now be to Continuation, but with different icons The way to think of this is: When a message is received you get an ID. So you set the portmappings on Continuation to received port. When the message is send you need a key to unlock the ID, so you set the Continuation ( former ContinuationID) portmappings on the to sent port. There is a key in the icon bedise Continuation ID with a key in it. deploy and enjoy

BAM removes XML declaration using passthru pipelines

I just created a simple messaging solution, using passthru pipeline on both send and receive ports. When I deployed this simple solution everything worked fine. However when I added BAM to the solution, tracking receive and sent time on the ports, the BAM interceptor removed the XML declaration in the beginning of the file. I have not yet found a workaround for this problem, but a solution is to NOT use BAM. UPDATE: Microsoft have acknowledged this. They will not provide a fix fort it.