Package org.apache.axis2.transport.http
Class MultipartFormDataFormatter
java.lang.Object
org.apache.axis2.transport.http.MultipartFormDataFormatter
- All Implemented Interfaces:
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 Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionformatSOAPAction(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, String soapAction) byte[]getBytes(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format) 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/jsongetTargetAddress(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, URL targetURL) Some message formats may want to alter the target url.voidwriteTo(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, OutputStream outputStream, boolean preserve) To support deffered writing transports as in http chunking..
-
Constructor Details
-
MultipartFormDataFormatter
public MultipartFormDataFormatter()
-
-
Method Details
-
getBytes
public byte[] getBytes(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format) throws AxisFault - Specified by:
getBytesin interfaceMessageFormatter- 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:
writeToin interfaceMessageFormatter- 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:
getContentTypein interfaceMessageFormatter- 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:
getTargetAddressin interfaceMessageFormatter- Returns:
- the target URL
- Throws:
AxisFault
-
formatSOAPAction
public String formatSOAPAction(MessageContext messageContext, org.apache.axiom.om.OMOutputFormat format, String soapAction) - Specified by:
formatSOAPActionin interfaceMessageFormatter- Returns:
- this only if you want set a transport header for SOAP Action
-