How to handle large size attachment in Biztalk while consuming SOAP request

Home Page Forums BizTalk 2004 – BizTalk 2010 How to handle large size attachment in Biztalk while consuming SOAP request

Viewing 1 reply thread
  • Author
    Posts
    • #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?

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

       

      • #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??? 

         

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

           

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

            • #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?

Viewing 1 reply thread
  • The forum ‘BizTalk 2004 – BizTalk 2010’ is closed to new topics and replies.