public interface SOAPEnvelope extends SOAPElement
SOAPPart对象。
默认情况下,将使用具有SOAPPart对象的SOAPMessage对象创建一个SOAPEnvelope对象。
默认情况下, SOAPEnvelope对象有一个空的SOAPBody对象和一个空的SOAPHeader对象。
SOAPBody对象是必需的,而在大多数情况下, SOAPHeader对象虽然是可选的。
如果SOAPHeader对象,则可以将其删除,稍后再示出。
客户端可以通过调用方法SOAPEnvelope.getHeader和SOAPEnvelope.getBody访问SOAPHeader和SOAPBody对象。 下面的代码行使用这两种方法与起始后SOAPMessage对象消息 ,以获得SOAPPart对象SP,然后将其用于获取SOAPEnvelope对象本身 。
SOAPPart sp = message.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
SOAPHeader sh = se.getHeader();
SOAPBody sb = se.getBody();
可以通过检索当前的对象,删除它,然后添加一个新的主体或头来更改一个SOAPEnvelope对象的正文或标题。 javax.xml.soap.Node方法deleteNode删除javax.xml.soap.Node调用的XML元素(节点)。 例如,以下代码SOAPBody删除由方法getBody的SOAPBody对象。
se.getBody().detachNode();
要创建一个SOAPHeader对象来替换被删除的对象,客户端使用方法SOAPEnvelope.addHeader ,该方法创建一个新的头并将其添加到SOAPEnvelope对象。
类似地,方法addBody创建一个新的SOAPBody对象,并将其添加到SOAPEnvelope对象。
以下代码片段检索当前头文件,将其删除,并添加一个新的标题。
然后它检索当前正文,删除它,并添加一个新的正文。
SOAPPart sp = message.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
se.getHeader().detachNode();
SOAPHeader sh = se.addHeader();
se.getBody().detachNode();
SOAPBody sb = se.addBody();
如果一个已经存在,添加一个SOAPBody或SOAPHeader对象是一个错误。
SOAPEnvelope界面提供了创建Name对象的三种方法。 一种方法创建具有本地名称,命名空间前缀和名称映射URI的Name对象。 第二种方法创建Name对象与本地名称和命名空间的前缀,而第三创建Name个使用本地名称的对象。 以下代码行,其中se是一个SOAPEnvelope对象,创建一个全新的Name对象。
Name name = se.createName("GetLastTradePrice", "WOMBAT",
"http://www.wombat.org/trader");
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| Modifier and Type | Method and Description |
|---|---|
SOAPBody |
addBody()
创建一个
SOAPBody对象,并将其设置为
SOAPBody对象的
SOAPEnvelope对象。
|
SOAPHeader |
addHeader()
创建一个
SOAPHeader对象,并将其设置为
SOAPHeader对象为此
SOAPEnvelope对象。
|
Name |
createName(String localName)
创建一个新的
Name对象,使用给定的本地名称初始化。
|
Name |
createName(String localName, String prefix, String uri)
创建使用给定的本地名称,命名空间前缀和命名空间URI初始化的新的
Name对象。
|
SOAPBody |
getBody()
返回
SOAPBody与此相关联的对象
SOAPEnvelope对象。
|
SOAPHeader |
getHeader()
返回此
SOAPHeader对象的
SOAPEnvelope对象。
|
addAttribute, addAttribute, addChildElement, addChildElement, addChildElement, addChildElement, addChildElement, addChildElement, addNamespaceDeclaration, addTextNode, createQName, getAllAttributes, getAllAttributesAsQNames, getAttributeValue, getAttributeValue, getChildElements, getChildElements, getChildElements, getElementName, getElementQName, getEncodingStyle, getNamespacePrefixes, getNamespaceURI, getVisibleNamespacePrefixes, removeAttribute, removeAttribute, removeContents, removeNamespaceDeclaration, setElementQName, setEncodingStyledetachNode, getParentElement, getValue, recycleNode, setParentElement, setValuegetAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNSappendChild, 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, setUserDataName createName(String localName, String prefix, String uri) throws SOAPException
Name对象。
此工厂方法创建Name对象以在SOAP / XML文档中使用。
localName - a
String给出本地名称
prefix - 一个
String给出
String的前缀
uri - 一个
String给出
String的URI
Name对象
SOAPException - 如果有一个SOAP错误
Name createName(String localName) throws SOAPException
Name对象。
此工厂方法创建Name对象以在SOAP / XML文档中使用。
localName - a
String给出本地名称
Name对象使用给定的本地名称初始化
SOAPException - 如果存在SOAP错误
SOAPHeader getHeader() throws SOAPException
SOAPHeader对象的SOAPEnvelope对象。
新SOAPMessage目标是通过创建一个默认SOAPEnvelope包含空对象SOAPHeader对象。 因此,方法getHeader将始终返回一个SOAPHeader对象,除非头已经被删除,并且没有添加新的对象。
SOAPHeader对象或
null如果没有
SOAPException - 如果获取
SOAPHeader对象时出现问题
SOAPBody getBody() throws SOAPException
SOAPBody与此相关联的对象SOAPEnvelope对象。
新SOAPMessage目标是通过创建一个默认SOAPEnvelope包含空对象SOAPBody对象。 因此,方法getBody将始终返回一个SOAPBody对象,除非正文已被删除并且尚未添加新对象。
SOAPBody对象为这
SOAPEnvelope对象或
null如果没有
SOAPException - 如果获取
SOAPBody对象时出现问题
SOAPHeader addHeader() throws SOAPException
SOAPHeader对象,并将其设置为SOAPHeader对象的SOAPEnvelope对象。
当信封已经包含标题时添加标题是非法的。 因此,只有在删除现有标题之后,才应该调用此方法。
SOAPHeader对象
SOAPException - 如果此
SOAPEnvelope对象已经包含有效的
SOAPHeader对象
SOAPBody addBody() throws SOAPException
SOAPBody对象,并将其设置为该SOAPBody对象的SOAPEnvelope对象。
当信封已经包含身体时添加身体是非法的。 因此,只有在删除现有的身体后才应该调用此方法。
SOAPBody对象
SOAPException - 如果这个
SOAPEnvelope对象已经包含一个有效的
SOAPBody对象
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.