Home Page › Forums › BizTalk 2004 – BizTalk 2010 › How to handle large size attachment in Biztalk while consuming SOAP request
- This topic has 5 replies, 1 voice, and was last updated 9 years, 3 months ago by
community-content.
-
AuthorPosts
-
-
August 16, 2010 at 6:53 AM #25639
I have following scenario:
Web application ==> BizTalk Hub ==> Ftp Location
Web application will send SOAP request to BizTalk with BIG (around 10 MB) attachment in the SOAP request. BizTalk has to split the SOAP request message in 2 parts (1 as attachment file and other as xml message with rest of the input message content) and then Biztalk will send these 2 files to ftp location. Here is it possible to process the message without storing it in BizTalk messagebox database.
I see it as performance degradation if I get such kind of several request to BizTalk in short duration. Also such a big messages will consume lot of space in BizTalk database, also it will slow down the processing.
Is there any method to deal with such scenario to handle such a big SOAP request message in BizTalk without hampering performance?
-
August 16, 2010 at 8:06 AM #25641
Hi,
If your purpose is to just send these two files to the FTP server, why not just send them directly to the FTP site (from your web application) and bypass BizTalk altogether?
If you use BizTalk to split the SOAP message into 2 parts, there’s going to be processing involved, unless you use the PassThruReceive pipeline, but then you would have to send those two parts separately anyway.
You might want to reconsider the design of your scenario,
Daniel.
-
August 19, 2010 at 5:42 AM #25681
I have 2 options
1) Allow biztalk to accept the SOAP message with big attachment (size varing from 1 MB to 10 MB). and choose a system configuration (hardware and software) to handle such a big data transaction.
2) Change the design to :
Web Portal ==> Proxy web service (C# .Net) ==> BizTalk Hub ==> FTP folder
With this design new component “Proxy web service (C# .Net) ” introduced to accept SOAP request with big attachment. This component will seperate the attachment file from SOAP request message and create attachment file in filesystem and will pass the path of that file and rest of the XML message to BizTalk. BizTalk will use the file path to move that file from local folder to FTP path (by means of external scipt.)
IN ABOVE 2 OPTIONS WHICH IS THE STANDARD WAY OF IMPLEMENTATION???
-
August 19, 2010 at 12:12 PM #25690
Hi,
If you go with option 1, it is recommended to place your receive handlers associated with HTTP/S and SOAP adapters on an isolated Host.
I would recommend option 2, but remove BizTalk from the picture altogether, since you are not doing any processing on that attachment file anyway, and you are just moving the file around, is that correct?
Daniel.
-
August 20, 2010 at 1:52 AM #25694
In option 2, for simplicity I said that we need to transfer these 2 files (Attachment and XML message) to FTP folder. However there is processing involved with XML message when it reaches BizTalk. Also this is not the only service we are implementing. We have many services to implement using BizTalk. Only for this service we have to change the design since it involves huge bulky data in SOAP request.
-
March 12, 2015 at 12:54 AM #26498
Cant you use a custom pipeline component to remove the attachment from the incoming message and store it somewhere (File share/Database) and then retrieve the same in Send side?
-
-
-
-
-
-
AuthorPosts
- The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.