Class TransportUtils
- java.lang.Object
-
- org.apache.axis2.kernel.TransportUtils
-
public class TransportUtils extends Object
-
-
Constructor Summary
Constructors Constructor Description TransportUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static OMElement
createDocumentElement(String contentType, Builder builder, MessageContext msgContext, InputStream inStream)
static OMElement
createDocumentElement(String contentType, MessageContext msgContext, InputStream inStream)
static SOAPEnvelope
createSOAPEnvelope(OMElement documentElement)
static SOAPEnvelope
createSOAPMessage(MessageContext msgContext)
static SOAPEnvelope
createSOAPMessage(MessageContext msgContext, boolean detach)
This method will create a SOAPEnvelope based on the InputStream stored on the MessageContext.static SOAPEnvelope
createSOAPMessage(MessageContext msgContext, InputStream inStream, String contentType)
Objective of this method is to capture the SOAPEnvelope creation logic and make it a common for all the transports and to in/out flows.static SOAPEnvelope
createSOAPMessage(MessageContext msgContext, InputStream inStream, String contentType, Builder builder)
Objective of this method is to capture the SOAPEnvelope creation logic and make it a common for all the transports and to in/out flows.static void
deleteAttachments(MessageContext msgContext)
Clean up cached attachment filestatic void
detachInputStream(MessageContext msgContext)
Prepare the message in the given message context so that the underlying input stream can be closed.static boolean
doWriteMTOM(MessageContext msgContext)
Checks whether MTOM needs to be enabled for the message represented by the msgContext.static boolean
doWriteSwA(MessageContext msgContext)
Checks whether SOAP With Attachments (SwA) needs to be enabled for the message represented by the msgContext.static String
getCharSetEncoding(String contentType)
Extracts and returns the character set encoding from the Content-type header Example: Content-Type: text/xml; charset=utf-8static String
getCharSetEncoding(MessageContext msgContext)
Utility method to query CharSetEncoding.static String
getContentType(String contentType, MessageContext msgContext)
static boolean
isDoingREST(MessageContext msgContext)
static boolean
isResponseWritten(MessageContext messageContext)
This is a helper method to get the response written flag from the RequestResponseTransport instance.static void
processContentTypeForAction(String contentType, MessageContext msgContext)
static void
setResponseWritten(MessageContext messageContext, boolean responseWritten)
This is a helper method to set the response written flag on the RequestResponseTransport instance.static void
writeMessage(MessageContext msgContext, OutputStream out)
-
-
-
Method Detail
-
createSOAPMessage
public static SOAPEnvelope createSOAPMessage(MessageContext msgContext) throws AxisFault
- Throws:
AxisFault
-
createSOAPMessage
public static SOAPEnvelope createSOAPMessage(MessageContext msgContext, boolean detach) throws AxisFault
This method will create a SOAPEnvelope based on the InputStream stored on the MessageContext. The 'detach' parameter controls whether or not the underlying DetachableInputStream is detached at the end of the method. Note, detaching the DetachableInputStream closes the underlying InputStream that is stored on the MessageContext.- Throws:
AxisFault
-
createSOAPMessage
public static SOAPEnvelope createSOAPMessage(MessageContext msgContext, InputStream inStream, String contentType) throws AxisFault, OMException, XMLStreamException, FactoryConfigurationError
Objective of this method is to capture the SOAPEnvelope creation logic and make it a common for all the transports and to in/out flows.- Parameters:
msgContext
- message contextinStream
- input streamcontentType
- content type of the message- Returns:
- the SOAPEnvelope
- Throws:
AxisFault
- if an error occursOMException
- if the xml is invalidXMLStreamException
- if the stream is invalidFactoryConfigurationError
-
createSOAPMessage
public static SOAPEnvelope createSOAPMessage(MessageContext msgContext, InputStream inStream, String contentType, Builder builder) throws AxisFault, OMException, XMLStreamException, FactoryConfigurationError
Objective of this method is to capture the SOAPEnvelope creation logic and make it a common for all the transports and to in/out flows.- Parameters:
msgContext
- message contextinStream
- input streamcontentType
- content type of the messagebuilder
- the builder to be used- Returns:
- the SOAPEnvelope
- Throws:
AxisFault
- if an error occursOMException
- if the xml is invalidXMLStreamException
- if the stream is invalidFactoryConfigurationError
-
createSOAPEnvelope
public static SOAPEnvelope createSOAPEnvelope(OMElement documentElement)
-
createDocumentElement
public static OMElement createDocumentElement(String contentType, MessageContext msgContext, InputStream inStream) throws AxisFault, XMLStreamException
- Throws:
AxisFault
XMLStreamException
-
createDocumentElement
public static OMElement createDocumentElement(String contentType, Builder builder, MessageContext msgContext, InputStream inStream) throws AxisFault, XMLStreamException
- Throws:
AxisFault
XMLStreamException
-
getContentType
public static String getContentType(String contentType, MessageContext msgContext)
-
getCharSetEncoding
public static String getCharSetEncoding(String contentType)
Extracts and returns the character set encoding from the Content-type header Example: Content-Type: text/xml; charset=utf-8- Parameters:
contentType
-
-
writeMessage
public static void writeMessage(MessageContext msgContext, OutputStream out) throws AxisFault
- Throws:
AxisFault
-
processContentTypeForAction
public static void processContentTypeForAction(String contentType, MessageContext msgContext)
-
isResponseWritten
public static boolean isResponseWritten(MessageContext messageContext)
This is a helper method to get the response written flag from the RequestResponseTransport instance.
-
setResponseWritten
public static void setResponseWritten(MessageContext messageContext, boolean responseWritten)
This is a helper method to set the response written flag on the RequestResponseTransport instance.
-
deleteAttachments
public static void deleteAttachments(MessageContext msgContext)
Clean up cached attachment file- Parameters:
msgContext
-
-
detachInputStream
public static void detachInputStream(MessageContext msgContext) throws AxisFault
Prepare the message in the given message context so that the underlying input stream can be closed.- Parameters:
msgContext
-- Throws:
AxisFault
-
doWriteMTOM
public static boolean doWriteMTOM(MessageContext msgContext)
Checks whether MTOM needs to be enabled for the message represented by the msgContext. We check value assigned to the "enableMTOM" property either using the config files (axis2.xml, services.xml) or programatically. Programatic configuration is given priority. If the given value is "optional", MTOM will be enabled only if the incoming message was an MTOM message.
- Parameters:
msgContext
- the active MessageContext- Returns:
- true if SwA needs to be enabled
-
doWriteSwA
public static boolean doWriteSwA(MessageContext msgContext)
Checks whether SOAP With Attachments (SwA) needs to be enabled for the message represented by the msgContext. We check value assigned to the "enableSwA" property either using the config files (axis2.xml, services.xml) or programatically. Programatic configuration is given priority. If the given value is "optional", SwA will be enabled only if the incoming message was SwA type.
- Parameters:
msgContext
- the active MessageContext- Returns:
- true if SwA needs to be enabled
-
isDoingREST
public static boolean isDoingREST(MessageContext msgContext)
-
getCharSetEncoding
public static String getCharSetEncoding(MessageContext msgContext)
Utility method to query CharSetEncoding. First look in the MessageContext. If it's not there look in the OpContext. Use the defualt, if it's not given in either contexts.- Parameters:
msgContext
- the active MessageContext- Returns:
- String the CharSetEncoding
-
-