Class MessageImpl

java.lang.Object
org.apache.axis2.jaxws.message.impl.MessageImpl
All Implemented Interfaces:
Message, XMLPart

public class MessageImpl extends Object implements Message
MessageImpl A Message is an XML part + Attachments. Most of the implementation delegates to the XMLPart implementation. NOTE: For XML/HTTP (REST), a SOAP 1.1. Envelope is built and the rest payload is placed in the body. This purposely mimics the Axis2 implementation.
  • Method Details

    • getAsSOAPMessage

      public jakarta.xml.soap.SOAPMessage getAsSOAPMessage() throws jakarta.xml.ws.WebServiceException
      Description copied from interface: Message
      getAsSOAPMessage Get the xml part as a read/write SOAPEnvelope
      Specified by:
      getAsSOAPMessage in interface Message
      Returns:
      SOAPEnvelope
      Throws:
      jakarta.xml.ws.WebServiceException
    • getAttachmentID

      public String getAttachmentID(int index)
      Get the indicated (non-soap part) attachment id
      Specified by:
      getAttachmentID in interface Message
      Parameters:
      index -
      Returns:
      CID or null if not present
    • getAttachmentID

      public String getAttachmentID(String partName)
      Description copied from interface: Message
      Get the indicated (non-soap part) attachment id
      Specified by:
      getAttachmentID in interface Message
      Parameters:
      partName - (WS-I indicates that SWA attachments have a partName prefix)
      Returns:
      CID or null if not present
    • getValue

      public Object getValue(Object context, BlockFactory blockFactory) throws jakarta.xml.ws.WebServiceException
      Specified by:
      getValue in interface Message
      Throws:
      jakarta.xml.ws.WebServiceException
    • getAttachmentIDs

      public List<String> getAttachmentIDs()
      Description copied from interface: Message
      Get the list of attachment content ids for the message
      Specified by:
      getAttachmentIDs in interface Message
      Returns:
      List
    • getDataHandler

      public jakarta.activation.DataHandler getDataHandler(String cid)
      Description copied from interface: Message
      Get the attachment identified by the contentID
      Specified by:
      getDataHandler in interface Message
      Returns:
    • removeDataHandler

      public jakarta.activation.DataHandler removeDataHandler(String cid)
      Description copied from interface: Message
      Get the attachment and remove it from the Message
      Specified by:
      removeDataHandler in interface Message
    • getProtocol

      public Protocol getProtocol()
      Description copied from interface: Message
      Get the protocol for this Message (soap11, soap12, etc.)
      Specified by:
      getProtocol in interface Message
      Specified by:
      getProtocol in interface XMLPart
      Returns:
      Protocl
    • getAsOMElement

      public org.apache.axiom.om.OMElement getAsOMElement() throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      getAsOMElement Get the xml part as a read/write OM...note this returns an OM SOAPEnvelope for all protocols...even REST
      Specified by:
      getAsOMElement in interface XMLPart
      Returns:
      OMElement
      Throws:
      jakarta.xml.ws.WebServiceException
    • getAsSOAPEnvelope

      public jakarta.xml.soap.SOAPEnvelope getAsSOAPEnvelope() throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      getAsEnvelope Get the xml part as a read/write SOAPEnvelope
      Specified by:
      getAsSOAPEnvelope in interface XMLPart
      Returns:
      SOAPEnvelope
      Throws:
      jakarta.xml.ws.WebServiceException
    • getBodyBlock

      public Block getBodyBlock(int index, Object context, BlockFactory blockFactory) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      getBodyBlock Get the body block at the specificed index. The BlockFactory and object context are passed in to help create the proper kind of block. Calling this method will cache the OM. Avoid it in performant situations.
      Specified by:
      getBodyBlock in interface XMLPart
      Returns:
      Block or null
      Throws:
      jakarta.xml.ws.WebServiceException
      See Also:
    • getHeaderBlock

      public Block getHeaderBlock(String namespace, String localPart, Object context, BlockFactory blockFactory) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      getHeaderBlock Get the firstheader block with the specified name. The BlockFactory and object context are passed in to help create the proper kind of block.
      Specified by:
      getHeaderBlock in interface XMLPart
      Returns:
      Block
      Throws:
      jakarta.xml.ws.WebServiceException
    • getHeaderBlocks

      public List<Block> getHeaderBlocks(String namespace, String localPart, Object context, BlockFactory blockFactory, org.apache.axiom.soap.RolePlayer rolePlayer) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      getHeaderBlock Get the header blocks with the specified name The BlockFactory and object context are passed in to help create the proper kind of block.
      Specified by:
      getHeaderBlocks in interface XMLPart
      Parameters:
      namespace - uri of header
      localPart - local name of header
      context - context for blockFactory
      blockFactory - kind of factory (i.e. JAXB)
      Returns:
      List
      Throws:
      jakarta.xml.ws.WebServiceException
    • getNumBodyBlocks

      public int getNumBodyBlocks() throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      getNumBodyBlocks Calling this method will cache the OM. Avoid it in performant situations.
      Specified by:
      getNumBodyBlocks in interface XMLPart
      Returns:
      number of body blocks
      Throws:
      jakarta.xml.ws.WebServiceException
    • getBodyBlockQNames

      public List<QName> getBodyBlockQNames() throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      getBodyBlockQNames Calling this method will cache the OM. Avoid it in performant situations.
      Specified by:
      getBodyBlockQNames in interface XMLPart
      Returns:
      List of QNames
      Throws:
      jakarta.xml.ws.WebServiceException
    • getNumHeaderBlocks

      public int getNumHeaderBlocks() throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      getNumHeaderBlocks
      Specified by:
      getNumHeaderBlocks in interface XMLPart
      Returns:
      number of header blocks
      Throws:
      jakarta.xml.ws.WebServiceException
    • getXMLStreamReader

      public XMLStreamReader getXMLStreamReader(boolean consume) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      Get the XMLStreamReader represented by this Message for the xml part
      Specified by:
      getXMLStreamReader in interface XMLPart
      Parameters:
      consume - true if this is the last request on the Message
      Returns:
      XMLStreamReader
      Throws:
      jakarta.xml.ws.WebServiceException
    • isConsumed

      public boolean isConsumed()
      Description copied from interface: XMLPart
      isConsumed Return true if the part is consumed. Once consumed, the information in the part is no longer available.
      Specified by:
      isConsumed in interface XMLPart
      Returns:
      true if the block is consumed (a method was called with consume=true)
    • outputTo

      public void outputTo(XMLStreamWriter writer, boolean consume) throws XMLStreamException, jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      Write out the Message
      Specified by:
      outputTo in interface XMLPart
      Parameters:
      writer - XMLStreamWriter
      consume - true if this is the last request on the block.
      Throws:
      jakarta.xml.ws.WebServiceException
      XMLStreamException
    • removeBodyBlock

      public void removeBodyBlock(int index) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      removeBodyBlock Removes the indicated BodyBlock
      Specified by:
      removeBodyBlock in interface XMLPart
      Throws:
      jakarta.xml.ws.WebServiceException
    • removeHeaderBlock

      public void removeHeaderBlock(String namespace, String localPart) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      removeHeaderBlock Removes all header blocks with this namespace/localpart
      Specified by:
      removeHeaderBlock in interface XMLPart
      Throws:
      jakarta.xml.ws.WebServiceException
    • setBodyBlock

      public void setBodyBlock(int index, Block block) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      setBodyBlock Set the block at the specified index Once set, the Message owns the block. You must use the getBodyBlock method to access it.
      Specified by:
      setBodyBlock in interface XMLPart
      Throws:
      jakarta.xml.ws.WebServiceException
    • setHeaderBlock

      public void setHeaderBlock(String namespace, String localPart, Block block) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      setHeaderBlock replaces the first existing header block with this new block. If there is no existing header block, one is added to the end of the headers
      Specified by:
      setHeaderBlock in interface XMLPart
      Throws:
      jakarta.xml.ws.WebServiceException
    • appendHeaderBlock

      public void appendHeaderBlock(String namespace, String localPart, Block block) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      appendHeaderBlock Append the block to the list of header blocks. The Message owns the block. You must use the getHeaderBlock method to access it.
      Specified by:
      appendHeaderBlock in interface XMLPart
      Throws:
      jakarta.xml.ws.WebServiceException
    • traceString

      public String traceString(String indent)
      Description copied from interface: XMLPart
      Get a traceString...the trace string dumps the contents of the Block without forcing an underlying ill-performant transformation of the message.
      Specified by:
      traceString in interface XMLPart
      Returns:
      String containing trace information
    • addDataHandler

      public void addDataHandler(jakarta.activation.DataHandler dh, String id)
      Description copied from interface: Message
      Add Attachment
      Specified by:
      addDataHandler in interface Message
      Parameters:
      dh - DataHandler (type of Attachment is inferred from dh.getContentType)
      id - String which is the Attachment content id
      See Also:
      • addAttachment(Attachment)
    • getParent

      public Message getParent()
      Description copied from interface: XMLPart
      getParent Get the Message object that this XMLPart is attached to, if it is attached to one at all.
      Specified by:
      getParent in interface XMLPart
      Returns:
    • setParent

      public void setParent(Message msg)
      Description copied from interface: XMLPart
      setParent Set the Message object that will hold this XMLPart
      Specified by:
      setParent in interface XMLPart
    • isMTOMEnabled

      public boolean isMTOMEnabled()
      Description copied from interface: Message
      A message is MTOM enabled if the associated dispatch/client/impl/provider has a binding type that enables MTOM.
      Specified by:
      isMTOMEnabled in interface Message
      Returns:
      true if the binding for this message indicates mtom
    • setMTOMEnabled

      public void setMTOMEnabled(boolean b)
      Description copied from interface: Message
      A message is MTOM enabled if the associated dispatch/client/impl/provider has a binding type that enables MTOM. Indicate whether this is an MTOM message
      Specified by:
      setMTOMEnabled in interface Message
      Parameters:
      true - if the binding for this message indicates mtom
    • getXMLFault

      public XMLFault getXMLFault() throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      If the XMLPart represents a fault, an XMLFault is returned which describes the fault in a protocol agnostic manner
      Specified by:
      getXMLFault in interface XMLPart
      Returns:
      the XMLFault object or null
      Throws:
      jakarta.xml.ws.WebServiceException
      See Also:
    • setXMLFault

      public void setXMLFault(XMLFault xmlFault) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      Change the XMLPart so that it represents the fault described by XMLFault
      Specified by:
      setXMLFault in interface XMLPart
      Throws:
      jakarta.xml.ws.WebServiceException
      See Also:
    • isFault

      public boolean isFault() throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      Determines whether the XMLPart represents a Fault
      Specified by:
      isFault in interface XMLPart
      Returns:
      true if the message represents a fault
      Throws:
      jakarta.xml.ws.WebServiceException
    • getXMLPartContentType

      public String getXMLPartContentType()
      Description copied from interface: XMLPart
      The representation of the XMLPart may be in a number of different forms. Currently the forms are UNKNOWN, OM, SOAPENVELOPE, and SPINE. This method returns a String containing one of these types. This method should only be used for trace and testing purposes. The consumer of a Message should not make any decisions based on the representation of the XMLPart
      Specified by:
      getXMLPartContentType in interface XMLPart
      Returns:
      String
    • getStyle

      public jakarta.jws.soap.SOAPBinding.Style getStyle()
      Specified by:
      getStyle in interface XMLPart
      Returns:
      the Style (document or rpc)
    • setStyle

      public void setStyle(jakarta.jws.soap.SOAPBinding.Style style) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      Set the Style. If the style is DOCUMENT, the body blocks are located underneath the body element. If the style is set to RPC, then the body blocks are located underneath the rpc operation.
      Specified by:
      setStyle in interface XMLPart
      Parameters:
      style - Style
      Throws:
      jakarta.xml.ws.WebServiceException
      See Also:
      • indirection
    • getOperationElement

      public QName getOperationElement() throws jakarta.xml.ws.WebServiceException
      Specified by:
      getOperationElement in interface XMLPart
      Returns:
      the QName of the operation element if Style.rpc. Otherwise null
      Throws:
      jakarta.xml.ws.WebServiceException
    • setOperationElement

      public void setOperationElement(QName operationQName) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      Set the operation element qname. The operation qname is only used if Style.rpc
      Specified by:
      setOperationElement in interface XMLPart
      Throws:
      jakarta.xml.ws.WebServiceException
    • getMimeHeaders

      public Map getMimeHeaders()
      Specified by:
      getMimeHeaders in interface Message
      Returns:
      get the transport headers map.
    • setMimeHeaders

      public void setMimeHeaders(Map map)
      Description copied from interface: Message
      Set the transport headers
      Specified by:
      setMimeHeaders in interface Message
      Parameters:
      map - Map
    • getBodyBlock

      public Block getBodyBlock(Object context, BlockFactory blockFactory) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      getBodyBlock Get the single Body Block. The BlockFactory and object context are passed in to help create the proper kind of block. This method should only be invoked when it is known that there is zero or one block.
      Specified by:
      getBodyBlock in interface XMLPart
      Returns:
      Block or null
      Throws:
      jakarta.xml.ws.WebServiceException
    • setBodyBlock

      public void setBodyBlock(Block block) throws jakarta.xml.ws.WebServiceException
      Description copied from interface: XMLPart
      setBodyBlock Set this as block as the single block for the message.
      Specified by:
      setBodyBlock in interface XMLPart
      Throws:
      jakarta.xml.ws.WebServiceException
    • setPostPivot

      public void setPostPivot()
      Description copied from interface: Message
      Indicate that this message is passed the pivot point. For example, this is set in the JAX-WS Dispatcher to indicate
      Specified by:
      setPostPivot in interface Message
    • isPostPivot

      public boolean isPostPivot()
      Specified by:
      isPostPivot in interface Message
      Returns:
      true if post pivot
    • getIndirection

      public int getIndirection()
      Description copied from interface: XMLPart
      Get indirection. Used to force the code to look for blocks at a particular location. For DOCUMENT the default is 0 For RPC the default is 1 This method is used to override these settings for special cases.
      Specified by:
      getIndirection in interface XMLPart
      Returns:
      indirection (0 or 1)
    • setIndirection

      public void setIndirection(int indirection)
      Description copied from interface: XMLPart
      Set indirection. Used to force the code to look for blocks at a particular location. For DOCUMENT the default is 0 For RPC the default is 1 This method is used to override these settings for special cases.
      Specified by:
      setIndirection in interface XMLPart
      Parameters:
      indirection - (0 or 1)
    • getMessageContext

      public MessageContext getMessageContext()
      Specified by:
      getMessageContext in interface Message
      Returns:
      JAX-WS MessageContext
    • setMessageContext

      public void setMessageContext(MessageContext messageContext)
      Description copied from interface: Message
      JAX-WS Message Context that owns the Message
      Specified by:
      setMessageContext in interface Message
    • setDoingSWA

      public void setDoingSWA(boolean value)
      Description copied from interface: Message
      Indicate that an SWA DataHandler was added to the message. This information will be used to trigger SWA serialization.
      Specified by:
      setDoingSWA in interface Message
    • isDoingSWA

      public boolean isDoingSWA()
      Specified by:
      isDoingSWA in interface Message
      Returns:
      true if SWA DataHandler is present
    • close

      public void close()
      Description copied from interface: XMLPart
      Used primarily to ensure the parser is forwarded to the end so it can be closed.
      Specified by:
      close in interface XMLPart
    • getHeaderQNames

      public Set<QName> getHeaderQNames()
      Specified by:
      getHeaderQNames in interface XMLPart
      Returns:
      QNames of headers