Interface XMLPart

  • All Known Subinterfaces:
    Message
    All Known Implementing Classes:
    MessageImpl, XMLPartBase, XMLPartImpl

    public interface XMLPart
    XMLPart The XML portion of a Message The JAX-WS implementation (proxy, message receiver, etc.) interact with the Message via Blocks. A Block is represented in the message as a root element tree in either the header, body or fault detail section. The Blocks can be easily decomposed into business objects (which are needed on the JAX-WS interfaces). In addition, the JAX-WS handler model requires that the XMLPart be exposed as an SAAJ SOAPEnvelope. The XMLPart abstraction hides the details of the message transformations from the JAX-WS implementation.
    See Also:
    Message, Block, for implementation details
    • Method Detail

      • getProtocol

        Protocol getProtocol()
        Get the protocol for this Message (soap11, soap12, etc.)
        Returns:
        Protocl
      • setStyle

        void setStyle​(SOAPBinding.Style style)
               throws WebServiceException
        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.
        Parameters:
        style - Style
        Throws:
        WebServiceException
        See Also:
        indirection
      • setIndirection

        void setIndirection​(int indirection)
        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.
        Parameters:
        indirection - (0 or 1)
      • getIndirection

        int getIndirection()
        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.
        Returns:
        indirection (0 or 1)
      • setOperationElement

        void setOperationElement​(QName operationQName)
                          throws WebServiceException
        Set the operation element qname. The operation qname is only used if Style.rpc
        Parameters:
        operationQName -
        Throws:
        WebServiceException
      • isConsumed

        boolean isConsumed()
        isConsumed Return true if the part is consumed. Once consumed, the information in the part is no longer available.
        Returns:
        true if the block is consumed (a method was called with consume=true)
      • getParent

        Message getParent()
        getParent Get the Message object that this XMLPart is attached to, if it is attached to one at all.
        Returns:
      • setParent

        void setParent​(Message m)
        setParent Set the Message object that will hold this XMLPart
        Parameters:
        m -
      • getAsOMElement

        OMElement getAsOMElement()
                          throws WebServiceException
        getAsOMElement Get the xml part as a read/write OM...note this returns an OM SOAPEnvelope for all protocols...even REST
        Returns:
        OMElement
        Throws:
        WebServiceException
      • getNumBodyBlocks

        int getNumBodyBlocks()
                      throws WebServiceException
        getNumBodyBlocks Calling this method will cache the OM. Avoid it in performant situations.
        Returns:
        number of body blocks
        Throws:
        WebServiceException
      • getBodyBlock

        Block getBodyBlock​(Object context,
                           BlockFactory blockFactory)
                    throws WebServiceException
        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.
        Parameters:
        index -
        context -
        blockFactory -
        Returns:
        Block or null
        Throws:
        WebServiceException
      • setBodyBlock

        void setBodyBlock​(int index,
                          Block block)
                   throws WebServiceException
        setBodyBlock Set the block at the specified index Once set, the Message owns the block. You must use the getBodyBlock method to access it.
        Parameters:
        index -
        block -
        Throws:
        WebServiceException
      • getHeaderBlock

        Block getHeaderBlock​(String namespace,
                             String localPart,
                             Object context,
                             BlockFactory blockFactory)
                      throws WebServiceException
        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.
        Parameters:
        namespace -
        localPart -
        context -
        blockFactory -
        Returns:
        Block
        Throws:
        WebServiceException
      • getHeaderBlocks

        List<Block> getHeaderBlocks​(String namespace,
                                    String localPart,
                                    Object context,
                                    BlockFactory blockFactory,
                                    RolePlayer rolePlayer)
                             throws WebServiceException
        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.
        Parameters:
        namespace - uri of header
        localPart - local name of header
        context - context for blockFactory
        blockFactory - kind of factory (i.e. JAXB)
        RolePlayer - determines acceptable roles (or null)
        Returns:
        List
        Throws:
        WebServiceException
      • setHeaderBlock

        void setHeaderBlock​(String namespace,
                            String localPart,
                            Block block)
                     throws WebServiceException
        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
        Parameters:
        namespace -
        localPart -
        block -
        Throws:
        WebServiceException
      • appendHeaderBlock

        void appendHeaderBlock​(String namespace,
                               String localPart,
                               Block block)
                        throws WebServiceException
        appendHeaderBlock Append the block to the list of header blocks. The Message owns the block. You must use the getHeaderBlock method to access it.
        Parameters:
        namespace -
        localPart -
        block -
        Throws:
        WebServiceException
      • getHeaderQNames

        Set<QName> getHeaderQNames()
        Returns:
        QNames of headers
      • traceString

        String traceString​(String indent)
        Get a traceString...the trace string dumps the contents of the Block without forcing an underlying ill-performant transformation of the message.
        Returns:
        String containing trace information
      • getXMLPartContentType

        String getXMLPartContentType()
        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
        Returns:
        String
      • close

        void close()
        Used primarily to ensure the parser is forwarded to the end so it can be closed.