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, setEncodingStyle
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
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
Name 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
对象