Class MultipartFormDataFormatter

java.lang.Object
org.apache.axis2.transport.http.MultipartFormDataFormatter
All Implemented Interfaces:
MessageFormatter

public class MultipartFormDataFormatter extends Object implements MessageFormatter
Formates the request message as multipart/form-data. An example of this serialization is shown below which was extracted from the Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts

The following instance data of an input message:

Fréjus France @@@@-@@-@@

with the following operation element

invalid input: '<'operation ref='t:data' whttp:location='temperature' whttp:method='POST' whttp:inputSerialization='multipart/form-data'/>

will serialize the message as follow:

Content-Type: multipart/form-data; boundary=AaB03x Content-Length: xxx

--AaB03x Content-Disposition: form-data; name="town" Content-Type: application/xml

Fréjus France --AaB03x Content-Disposition: form-data; name="date" Content-Type: text/plain; charset=utf-8 @@@-@@-@@ --AaB03x--

  • Constructor Details

    • MultipartFormDataFormatter

      public MultipartFormDataFormatter()
  • Method Details

    • getBytes

      public byte[] getBytes(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format) throws AxisFault
      Specified by:
      getBytes in interface MessageFormatter
      Returns:
      a byte array of the message formatted according to the given message format.
      Throws:
      AxisFault
    • writeTo

      public void writeTo(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, OutputStream outputStream, boolean preserve) throws AxisFault
      To support deffered writing transports as in http chunking.. Axis2 was doing this for some time..

      Preserve flag can be used to preserve the envelope for later use. This is usefull when implementing authentication machnisms like NTLM.

      Specified by:
      writeTo in interface MessageFormatter
      Parameters:
      outputStream -
      preserve - : do not consume the OM when this is set..
      Throws:
      AxisFault
    • getContentType

      public String getContentType(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, String soapAction)
      Different message formats can set their own content types Eg: JSONFormatter can set the content type as application/json
      Specified by:
      getContentType in interface MessageFormatter
      Parameters:
      messageContext -
      format -
      soapAction -
    • getTargetAddress

      public URL getTargetAddress(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, URL targetURL) throws AxisFault
      Some message formats may want to alter the target url.
      Specified by:
      getTargetAddress in interface MessageFormatter
      Returns:
      the target URL
      Throws:
      AxisFault
    • formatSOAPAction

      public String formatSOAPAction(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, String soapAction)
      Specified by:
      formatSOAPAction in interface MessageFormatter
      Returns:
      this only if you want set a transport header for SOAP Action