org.apache.axis2.transport.http
Class MultipartFormDataFormatter

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

public class MultipartFormDataFormatter
extends java.lang.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

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


Constructor Summary
MultipartFormDataFormatter()
           
 
Method Summary
 java.lang.String formatSOAPAction(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, java.lang.String soapAction)
           
 byte[] getBytes(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format)
           
 java.lang.String getContentType(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, java.lang.String soapAction)
          Different message formats can set their own content types Eg: JSONFormatter can set the content type as application/json
 java.net.URL getTargetAddress(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, java.net.URL targetURL)
          Some message formats may want to alter the target url.
 void writeTo(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, java.io.OutputStream outputStream, boolean preserve)
          To support deffered writing transports as in http chunking..
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultipartFormDataFormatter

public MultipartFormDataFormatter()
Method Detail

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,
                    java.io.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 java.lang.String getContentType(MessageContext messageContext,
                                       org.apache.axiom.om.OMOutputFormat format,
                                       java.lang.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 java.net.URL getTargetAddress(MessageContext messageContext,
                                     org.apache.axiom.om.OMOutputFormat format,
                                     java.net.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 java.lang.String formatSOAPAction(MessageContext messageContext,
                                         org.apache.axiom.om.OMOutputFormat format,
                                         java.lang.String soapAction)
Specified by:
formatSOAPAction in interface MessageFormatter
Returns:
this only if you want set a transport header for SOAP Action


Copyright © 2007 Apache Web Services Project. All Rights Reserved.