Interface SOAPEnvelope
- All Superinterfaces:
Element,Node,Node,SOAPElement
public interface SOAPEnvelope extends SOAPElement
SOAPPart object. By default, a
SOAPMessage object is created with a
SOAPPart object that has a SOAPEnvelope
object. The SOAPEnvelope object by default has an
empty SOAPBody object and an empty
SOAPHeader object. The SOAPBody object is
required, and the SOAPHeader object, though
optional, is used in the majority of cases. If the
SOAPHeader object is not needed, it can be deleted,
which is shown later.
A client can access the SOAPHeader and
SOAPBody objects by calling the methods
SOAPEnvelope.getHeader and
SOAPEnvelope.getBody. The following lines of code use
these two methods after starting with the
SOAPMessage object message to get the
SOAPPart object sp, which is then used to get the
SOAPEnvelope object se.
SOAPPart sp = message.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
SOAPHeader sh = se.getHeader();
SOAPBody sb = se.getBody();
It is possible to change the body or header of a
SOAPEnvelope object by retrieving the current one,
deleting it, and then adding a new body or header. The
javax.xml.soap.Node method detachNode
detaches the XML element (node) on which it is called. For
example, the following line of code deletes the
SOAPBody object that is retrieved by the method
getBody.
se.getBody().detachNode();
To create a SOAPHeader object to replace the one
that was removed, a client uses the method
SOAPEnvelope.addHeader, which creates a new header and
adds it to the SOAPEnvelope object. Similarly, the
method addBody creates a new SOAPBody
object and adds it to the SOAPEnvelope object. The
following code fragment retrieves the current header, removes
it, and adds a new one. Then it retrieves the current body,
removes it, and adds a new one.
SOAPPart sp = message.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
se.getHeader().detachNode();
SOAPHeader sh = se.addHeader();
se.getBody().detachNode();
SOAPBody sb = se.addBody();
It is an error to add a SOAPBody or
SOAPHeader object if one already exists.
The SOAPEnvelope interface provides three
methods for creating Name objects. One method
creates Name objects with a local name, a
namespace prefix, and a namesapce URI. The second method
creates Name objects with a local name and a
namespace prefix, and the third creates Name
objects with just a local name. The following line of code, in
which se is a SOAPEnvelope object, creates
a new Name object with all three.
Name name = se.createName("GetLastTradePrice", "WOMBAT",
"http://www.wombat.org/trader");
-
Field Summary
Fields inherited from interface org.w3c.dom.Node
ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_FRAGMENT_NODE, DOCUMENT_NODE, DOCUMENT_POSITION_CONTAINED_BY, DOCUMENT_POSITION_CONTAINS, DOCUMENT_POSITION_DISCONNECTED, DOCUMENT_POSITION_FOLLOWING, DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC, DOCUMENT_POSITION_PRECEDING, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE, NOTATION_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE -
Method Summary
Modifier and Type Method Description SOAPBodyaddBody()Creates aSOAPBodyobject and sets it as theSOAPBodyobject for thisSOAPEnvelopeobject.SOAPHeaderaddHeader()Creates aSOAPHeaderobject and sets it as theSOAPHeaderobject for thisSOAPEnvelopeobject.NamecreateName(String localName)Creates a newNameobject initialized with the given local name.NamecreateName(String localName, String prefix, String uri)Creates a newNameobject initialized with the given local name, namespace prefix, and namespace URI.SOAPBodygetBody()Returns theSOAPBodyobject associated with thisSOAPEnvelopeobject.SOAPHeadergetHeader()Returns theSOAPHeaderobject for thisSOAPEnvelopeobject.Methods inherited from interface org.w3c.dom.Element
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNSMethods inherited from interface org.apache.xmlbeans.impl.soap.Node
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValueMethods inherited from interface org.w3c.dom.Node
appendChild, cloneNode, compareDocumentPosition, getAttributes, getBaseURI, getChildNodes, getFeature, getFirstChild, getLastChild, getLocalName, getNamespaceURI, getNextSibling, getNodeName, getNodeType, getNodeValue, getOwnerDocument, getParentNode, getPrefix, getPreviousSibling, getTextContent, getUserData, hasAttributes, hasChildNodes, insertBefore, isDefaultNamespace, isEqualNode, isSameNode, isSupported, lookupNamespaceURI, lookupPrefix, normalize, removeChild, replaceChild, setNodeValue, setPrefix, setTextContent, setUserDataMethods inherited from interface org.apache.xmlbeans.impl.soap.SOAPElement
addAttribute, addChildElement, addChildElement, addChildElement, addChildElement, addChildElement, addNamespaceDeclaration, addTextNode, getAllAttributes, getAttributeValue, getChildElements, getChildElements, getElementName, getEncodingStyle, getNamespacePrefixes, getNamespaceURI, getVisibleNamespacePrefixes, removeAttribute, removeContents, removeNamespaceDeclaration, setEncodingStyle
-
Method Details
-
createName
Creates a newNameobject initialized with the given local name, namespace prefix, and namespace URI.This factory method creates
Nameobjects for use in the SOAP/XML document.- Parameters:
localName- aStringgiving the local nameprefix- aStringgiving the prefix of the namespaceuri- aStringgiving the URI of the namespace- Returns:
- a
Nameobject initialized with the given local name, namespace prefix, and namespace URI - Throws:
SOAPException- if there is a SOAP error
-
createName
Creates a newNameobject initialized with the given local name.This factory method creates
Nameobjects for use in the SOAP/XML document.- Parameters:
localName- aStringgiving the local name- Returns:
- a
Nameobject initialized with the given local name - Throws:
SOAPException- if there is a SOAP error
-
getHeader
Returns theSOAPHeaderobject for thisSOAPEnvelopeobject.A new
SOAPMessageobject is by default created with aSOAPEnvelopeobject that contains an emptySOAPHeaderobject. As a result, the methodgetHeaderwill always return aSOAPHeaderobject unless the header has been removed and a new one has not been added.- Returns:
- the
SOAPHeaderobject ornullif there is none - Throws:
SOAPException- if there is a problem obtaining theSOAPHeaderobject
-
getBody
Returns theSOAPBodyobject associated with thisSOAPEnvelopeobject.A new
SOAPMessageobject is by default created with aSOAPEnvelopeobject that contains an emptySOAPBodyobject. As a result, the methodgetBodywill always return aSOAPBodyobject unless the body has been removed and a new one has not been added.- Returns:
- the
SOAPBodyobject for thisSOAPEnvelopeobject ornullif there is none - Throws:
SOAPException- if there is a problem obtaining theSOAPBodyobject
-
addHeader
Creates aSOAPHeaderobject and sets it as theSOAPHeaderobject for thisSOAPEnvelopeobject.It is illegal to add a header when the envelope already contains a header. Therefore, this method should be called only after the existing header has been removed.
- Returns:
- the new
SOAPHeaderobject - Throws:
SOAPException- if thisSOAPEnvelopeobject already contains a validSOAPHeaderobject
-
addBody
Creates aSOAPBodyobject and sets it as theSOAPBodyobject for thisSOAPEnvelopeobject.It is illegal to add a body when the envelope already contains a body. Therefore, this method should be called only after the existing body has been removed.
- Returns:
- the new
SOAPBodyobject - Throws:
SOAPException- if thisSOAPEnvelopeobject already contains a validSOAPBodyobject
-