org.apache.axis2.jaxws.message
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 Summary
 void appendHeaderBlock(java.lang.String namespace, java.lang.String localPart, Block block)
          appendHeaderBlock Append the block to the list of header blocks.
 void close()
          Used primarily to ensure the parser is forwarded to the end so it can be closed.
 org.apache.axiom.om.OMElement getAsOMElement()
          getAsOMElement Get the xml part as a read/write OM...note this returns an OM SOAPEnvelope for all protocols...even REST
 SOAPEnvelope getAsSOAPEnvelope()
          getAsEnvelope Get the xml part as a read/write SOAPEnvelope
 Block getBodyBlock(int index, java.lang.Object context, BlockFactory blockFactory)
          getBodyBlock Get the body block at the specificed index.
 Block getBodyBlock(java.lang.Object context, BlockFactory blockFactory)
          getBodyBlock Get the single Body Block.
 Block getHeaderBlock(java.lang.String namespace, java.lang.String localPart, java.lang.Object context, BlockFactory blockFactory)
          getHeaderBlock Get the firstheader block with the specified name.
 java.util.List<Block> getHeaderBlocks(java.lang.String namespace, java.lang.String localPart, java.lang.Object context, BlockFactory blockFactory, org.apache.axiom.soap.RolePlayer rolePlayer)
          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.
 java.util.Set<QName> getHeaderQNames()
           
 int getIndirection()
          Get indirection.
 int getNumBodyBlocks()
          getNumBodyBlocks Calling this method will cache the OM.
 int getNumHeaderBlocks()
          getNumHeaderBlocks
 QName getOperationElement()
           
 Message getParent()
          getParent Get the Message object that this XMLPart is attached to, if it is attached to one at all.
 Protocol getProtocol()
          Get the protocol for this Message (soap11, soap12, etc.)
 SOAPBinding.Style getStyle()
           
 XMLFault getXMLFault()
          If the XMLPart represents a fault, an XMLFault is returned which describes the fault in a protocol agnostic manner
 java.lang.String getXMLPartContentType()
          The representation of the XMLPart may be in a number of different forms.
 javax.xml.stream.XMLStreamReader getXMLStreamReader(boolean consume)
          Get the XMLStreamReader represented by this Message for the xml part
 boolean isConsumed()
          isConsumed Return true if the part is consumed.
 boolean isFault()
          Determines whether the XMLPart represents a Fault
 void outputTo(javax.xml.stream.XMLStreamWriter writer, boolean consume)
          Write out the Message
 void removeBodyBlock(int index)
          removeBodyBlock Removes the indicated BodyBlock
 void removeHeaderBlock(java.lang.String namespace, java.lang.String localPart)
          removeHeaderBlock Removes all header blocks with this namespace/localpart
 void setBodyBlock(Block block)
          setBodyBlock Set this as block as the single block for the message.
 void setBodyBlock(int index, Block block)
          setBodyBlock Set the block at the specified index Once set, the Message owns the block.
 void setHeaderBlock(java.lang.String namespace, java.lang.String localPart, Block block)
          setHeaderBlock replaces the first existing header block with this new block.
 void setIndirection(int indirection)
          Set indirection.
 void setOperationElement(QName operationQName)
          Set the operation element qname.
 void setParent(Message m)
          setParent Set the Message object that will hold this XMLPart
 void setStyle(SOAPBinding.Style style)
          Set the Style.
 void setXMLFault(XMLFault xmlFault)
          Change the XMLPart so that it represents the fault described by XMLFault
 java.lang.String traceString(java.lang.String indent)
          Get a traceString...the trace string dumps the contents of the Block without forcing an underlying ill-performant transformation of the message.
 

Method Detail

getProtocol

Protocol getProtocol()
Get the protocol for this Message (soap11, soap12, etc.)

Returns:
Protocl

outputTo

void outputTo(javax.xml.stream.XMLStreamWriter writer,
              boolean consume)
              throws javax.xml.stream.XMLStreamException,
                     WebServiceException
Write out the Message

Parameters:
writer - XMLStreamWriter
consume - true if this is the last request on the block.
Throws:
WebServiceException
javax.xml.stream.XMLStreamException

getXMLStreamReader

javax.xml.stream.XMLStreamReader getXMLStreamReader(boolean consume)
                                                    throws WebServiceException
Get the XMLStreamReader represented by this Message for the xml part

Parameters:
consume - true if this is the last request on the Message
Returns:
XMLStreamReader
Throws:
WebServiceException
javax.xml.stream.XMLStreamException

getStyle

SOAPBinding.Style getStyle()
Returns:
the Style (document or rpc)

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)

getOperationElement

QName getOperationElement()
                          throws WebServiceException
Returns:
the QName of the operation element if Style.rpc. Otherwise null
Throws:
WebServiceException

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)

isFault

boolean isFault()
                throws WebServiceException
Determines whether the XMLPart represents a Fault

Returns:
true if the message represents a fault
Throws:
WebServiceException

getXMLFault

XMLFault getXMLFault()
                     throws WebServiceException
If the XMLPart represents a fault, an XMLFault is returned which describes the fault in a protocol agnostic manner

Returns:
the XMLFault object or null
Throws:
WebServiceException
See Also:
XMLFault

setXMLFault

void setXMLFault(XMLFault xmlFault)
                 throws WebServiceException
Change the XMLPart so that it represents the fault described by XMLFault

Parameters:
xmlfault -
Throws:
WebServiceException
See Also:
XMLFault

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 -

getAsSOAPEnvelope

SOAPEnvelope getAsSOAPEnvelope()
                               throws WebServiceException
getAsEnvelope Get the xml part as a read/write SOAPEnvelope

Returns:
SOAPEnvelope
Throws:
WebServiceException

getAsOMElement

org.apache.axiom.om.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(int index,
                   java.lang.Object context,
                   BlockFactory blockFactory)
                   throws WebServiceException
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.

Parameters:
index -
context -
blockFactory -
Returns:
Block or null
Throws:
WebServiceException
See Also:
getBodyBlock

getBodyBlock

Block getBodyBlock(java.lang.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

setBodyBlock

void setBodyBlock(Block block)
                  throws WebServiceException
setBodyBlock Set this as block as the single block for the message.

Parameters:
index -
block -
Throws:
WebServiceException

removeBodyBlock

void removeBodyBlock(int index)
                     throws WebServiceException
removeBodyBlock Removes the indicated BodyBlock

Parameters:
index -
Throws:
WebServiceException

getNumHeaderBlocks

int getNumHeaderBlocks()
                       throws WebServiceException
getNumHeaderBlocks

Returns:
number of header blocks
Throws:
WebServiceException

getHeaderBlock

Block getHeaderBlock(java.lang.String namespace,
                     java.lang.String localPart,
                     java.lang.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

java.util.List<Block> getHeaderBlocks(java.lang.String namespace,
                                      java.lang.String localPart,
                                      java.lang.Object context,
                                      BlockFactory blockFactory,
                                      org.apache.axiom.soap.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(java.lang.String namespace,
                    java.lang.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(java.lang.String namespace,
                       java.lang.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

java.util.Set<QName> getHeaderQNames()
Returns:
QNames of headers

removeHeaderBlock

void removeHeaderBlock(java.lang.String namespace,
                       java.lang.String localPart)
                       throws WebServiceException
removeHeaderBlock Removes all header blocks with this namespace/localpart

Parameters:
namespace -
localPart -
Throws:
WebServiceException

traceString

java.lang.String traceString(java.lang.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

java.lang.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.



Copyright © 2007 Apache Web Services Project. All Rights Reserved.