Class TransportUtils

java.lang.Object
org.apache.axis2.kernel.TransportUtils

public class TransportUtils extends Object
  • Constructor Details

    • TransportUtils

      public TransportUtils()
  • Method Details

    • createSOAPMessage

      public static org.apache.axiom.soap.SOAPEnvelope createSOAPMessage(MessageContext msgContext) throws AxisFault
      Throws:
      AxisFault
    • createSOAPMessage

      public static org.apache.axiom.soap.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 org.apache.axiom.soap.SOAPEnvelope createSOAPMessage(MessageContext msgContext, InputStream inStream, String contentType) throws AxisFault, org.apache.axiom.om.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 context
      inStream - input stream
      contentType - content type of the message
      Returns:
      the SOAPEnvelope
      Throws:
      AxisFault - if an error occurs
      org.apache.axiom.om.OMException - if the xml is invalid
      XMLStreamException - if the stream is invalid
      FactoryConfigurationError
    • createSOAPMessage

      public static org.apache.axiom.soap.SOAPEnvelope createSOAPMessage(MessageContext msgContext, InputStream inStream, String contentType, Builder builder) throws AxisFault, org.apache.axiom.om.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 context
      inStream - input stream
      contentType - content type of the message
      builder - the builder to be used
      Returns:
      the SOAPEnvelope
      Throws:
      AxisFault - if an error occurs
      org.apache.axiom.om.OMException - if the xml is invalid
      XMLStreamException - if the stream is invalid
      FactoryConfigurationError
    • createSOAPEnvelope

      public static org.apache.axiom.soap.SOAPEnvelope createSOAPEnvelope(org.apache.axiom.om.OMElement documentElement)
    • createDocumentElement

      public static org.apache.axiom.om.OMElement createDocumentElement(String contentType, MessageContext msgContext, InputStream inStream) throws AxisFault, XMLStreamException
      Throws:
      AxisFault
      XMLStreamException
    • createDocumentElement

      public static org.apache.axiom.om.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