1 Reply Latest reply on Feb 1, 2006 9:22 PM by Alejandro Guizar

    SOAP binding extensions

    Maxim Shwets Newbie

      Hi!

      I'm trying to create BPEL process that will accept SOAP with attachments request. Specifically I create multipart MIME SOAP message with one part of the message as attachment. I.e. I have message and binding like that:

      <mime:multipartRelated>
      <mime:part>
      <soap:body parts="class operation" use="literal" />
      </mime:part>
      <mime:part>
      <mime:content part="stream" type="application/octet-stream"/>
      </mime:part>
      </mime:multipartRelated>

      But it seems that current SOAP handler code does not support any SOAP binding extensions and MIME binding will not work.

      Please advice.

      Thank you,
      Maxim Shwets

        • 1. Re: SOAP binding extensions
          Alejandro Guizar Master

          Right now jBPM BPEL does not support bindings other than SOAP. I?m currently introducing a message serialization framework to deal with different bindings. The design goals are:
          Translate back and forth between the internal WSDL message format and the format "on-the-wire" as specified by each WSDL binding
          Support at least the bindings in the WSDL 1.1 specification: SOAP, HTTP and MIME.
          Make it usable for both production and consumption, since the problem is exactly the same.
          The class is:

          public interface MessageSerializer {
          
           Map readMessage(
           javax.wsdl.BindingOperation bindingInfo,
           Object wireMessage);
          
           void writeMessage(
           javax.wsdl.BindingOperation bindingInfo,
           Object wireMessage,
           Map parts);
          
           org.jbpm.bpel.exe.Fault readFault(
           javax.wsdl.BindingOperation bindingInfo,
           Object wireMessage)
          
           void writeFault(
           javax.wsdl.BindingOperation bindingInfo,
           Object wireMessage,
           org.w3c.dom.Element part);
          }

          Notes:
          The wireMessage parameter is a javax.xml.soap.SOAPMessage under the SOAP & MIME bindings. In the HTTP binding, it is a java.net.HttpURLConnection.
          The parts parameter is a collection of String-Element pairs, containing the name and the content of each part.
          The MIME binding should extract the content of MIME parts (aka attachments) and put it in as the content of an element.