3 Replies Latest reply on Nov 24, 2008 7:54 AM by Jan Kettenis-Oracle

    Passing Attachment to BPEL Web Service


      Our client has a requirement to interface large files attachment from source system to the target system. One way of addressing this is by implementing "FTP as an attachment" feature to address large file using FTP adapters.

      However, the design we are looking at is to
      a) Design a BPEL process to accept attachment as the input
      b) So that source system will invoke BPEL web service and pass attachment to the BPEL web service (if it is possible)
      c) Once the BPEL process receives the attachment, it should call the target system web service and pass the attachment to the web service of target system.

      I need help in understanding the feasibility of this approach.

      1) Can BPEL web service accepts attachment as the input ?
      2) Can BPEL process invoke another web service passing attachment to it.
      3) If yes, what can be the maximum recommended size of the attachment?
      4) Any pointer to the documents related to this ?

      We are on

      Appreciate your help on this.

      thanks, Riz
        • 1. Re: Passing Attachment to BPEL Web Service
          Jan Kettenis-Oracle
          There are two ways to do this, by embedding the attachment as an element using base64 or hexadecimal encoding, or using SOAP with attachment (MIME or DIME). The first method normally only is used when you want to be able to manipulate the attachment. Better performance is achieved with the second approach.

          You can find more information in chapter 3 of the the BPEL Developers Guide:


          Jan Kettenis
          • 2. Re: Passing Attachment to BPEL Web Service
            Thanks for the response.

            Assuming that I am taking the first approach of using base64binary encoding to receive attachment and also assuming I am not converting base64 into any other format(not manipulating the data), can this approach work effectively for the attachment of size between 20 to 25 MB ?

            Also what could be the maximum recommended size of the attachment in this case?

            Thanks, Riz
            • 3. Re: Passing Attachment to BPEL Web Service
              Jan Kettenis-Oracle
              The only way to find out is by testing. Mind that the attachment needs to be encoded to base64 before sending the request and at the other side needs to be decoded again. When that is going to be a problem greatly depends on the capacity of the machine doing this. I did some investigation once and was informed that for one project they saw a significant performance degradation after 5 Mb.

              Jan Kettenis