-
- All Superinterfaces:
-
Element
,Node
,Node
,SOAPElement
public interface SOAPEnvelope extends SOAPElement
用于SOAPHeader和SOAPBody的容器为SOAPPart
对象的部分。 默认情况下,使用一个SOAPMessage
对象创建一个SOAPPart
对象,该对象具有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
deleteNode
的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");
- 从以下版本开始:
- 1.6
-
-
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
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 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
对象。-
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, setIdAttributeNS
-
Methods inherited from interface javax.xml.soap.Node
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue
-
Methods 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, setUserData
-
Methods inherited from interface javax.xml.soap.SOAPElement
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, setEncodingStyle
-
-
-
-
方法详细信息
-
createName
Name createName(String localName, String prefix, String uri) throws SOAPException
创建使用给定的本地名称,命名空间前缀和命名空间URI初始化的新的Name
对象。此工厂方法创建
Name
对象以在SOAP / XML文档中使用。- 参数
-
localName
- 一个String
给出本地名称 -
prefix
- 一个String
给出命名空间的前缀 -
uri
- 一个String
给出命名空间的URI - 结果
-
一个
Name
对象使用给定的本地名称,命名空间前缀和命名空间URI进行初始化 - 异常
-
SOAPException
- 如果存在SOAP错误
-
createName
Name createName(String localName) throws SOAPException
创建使用给定的本地名称初始化的新的Name
对象。此工厂方法创建
Name
对象以在SOAP / XML文档中使用。- 参数
-
localName
- 一个String
给出本地名称 - 结果
-
一个
Name
对象使用给定的本地名称初始化 - 异常
-
SOAPException
- 如果存在SOAP错误
-
getHeader
SOAPHeader getHeader() throws SOAPException
返回此SOAPHeader
对象的SOAPEnvelope
对象。新
SOAPMessage
目标是通过创建一个默认SOAPEnvelope
包含空对象SOAPHeader
对象。 因此,方法getHeader
将始终返回一个SOAPHeader
对象,除非标头已经被移除并且尚未添加一个新的对象。- 结果
-
SOAPHeader
对象或null
如果没有 - 异常
-
SOAPException
- 如果获取SOAPHeader
对象时出现问题
-
getBody
SOAPBody getBody() throws SOAPException
返回SOAPBody
与此相关联的对象SOAPEnvelope
对象。新
SOAPMessage
目标是通过创建一个默认SOAPEnvelope
包含空对象SOAPBody
对象。 因此,方法getBody
将始终返回一个SOAPBody
对象,除非正文已被删除,并且尚未添加新对象。- 结果
-
该
SOAPBody
对象为SOAPEnvelope
对象或null
如果没有 - 异常
-
SOAPException
- 如果获取SOAPBody
对象有问题
-
addHeader
SOAPHeader addHeader() throws SOAPException
创建一个SOAPHeader
对象,并将其设置为该SOAPHeader
对象的SOAPEnvelope
对象。当信封已经包含标题时添加标题是非法的。 因此,只有在删除现有标题之后,才应该调用此方法。
- 结果
-
新的
SOAPHeader
对象 - 异常
-
SOAPException
- 如果此SOAPEnvelope
对象已经包含有效的SOAPHeader
对象
-
addBody
SOAPBody addBody() throws SOAPException
创建一个SOAPBody
对象,并将其设置为该SOAPBody
对象的SOAPEnvelope
对象。当信封已经包含身体时添加身体是非法的。 因此,只有在删除现有的身体后才应该调用此方法。
- 结果
-
新的
SOAPBody
对象 - 异常
-
SOAPException
- if thisSOAPEnvelope
object already contains a validSOAPBody
object
-
-