public interface SOAPEnvelope extends SOAPElement
SOAPPart
オブジェクトの SOAPHeader と SOAPBody 部分のコンテナ。デフォルトでは、SOAPMessage
オブジェクトは SOAPEnvelope
オブジェクトを保持する SOAPPart
オブジェクトで作成されます。デフォルトでは SOAPEnvelope
オブジェクトは、空の SOAPBody
オブジェクトと空の SOAPHeader
オブジェクトを保有しています。SOAPBody
オブジェクトは必須です。SOAPHeader
オブジェクトはオプションですが、ほとんどの場合に使用されています。SOAPHeader
オブジェクトが必要でない場合、削除できます (後述)。
クライアントは、SOAPEnvelope.getHeader
や SOAPEnvelope.getBody
メソッドを呼び出すことで、SOAPHeader
や SOAPBody
オブジェクトにアクセスできます。次のコードでは、SOAPMessage
オブジェクトの message で SOAPPart
オブジェクトの sp を取得したあと、これらの 2 つのメソッドを使用します。sp は次の SOAPEnvelope
オブジェクトの se の取得に使用します。
SOAPPart sp = message.getSOAPPart(); SOAPEnvelope se = sp.getEnvelope(); SOAPHeader sh = se.getHeader(); SOAPBody sb = se.getBody();
SOAPEnvelope
オブジェクトの本体やヘッダーは、現行のものを取得したり、削除したり、新しいものを追加したりすることで変更できます。javax.xml.soap.Node
のメソッド deleteNode
は、呼び出された XML 要素 (ノード) を削除します。たとえば、次のコードは、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
オブジェクトを作成する 3 つのメソッドを提供します。1 つ目のメソッドは、ローカル名、名前空間接頭辞、名前空間 URI を使用して Name
オブジェクトを作成します。2 つ目のメソッドは、ローカル名と名前空間の接頭辞を使用して Name
オブジェクトを作成します。3 つ目のメソッドは、ローカル名のみを使用して Name
オブジェクトを作成します。次のコード行 (se は SOAPEnvelope
オブジェクト) では、3 つすべてを使用して新しい 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
修飾子と型 | メソッドと説明 |
---|---|
SOAPBody |
addBody()
SOAPBody オブジェクトを作成し、それをこの SOAPEnvelope オブジェクトの SOAPBody オブジェクトとして設定します。 |
SOAPHeader |
addHeader()
SOAPHeader オブジェクトを作成し、それをこの SOAPEnvelope オブジェクトの SOAPHeader オブジェクトとして設定します。 |
Name |
createName(String localName)
指定されたローカル名を使用して初期化された新しい
Name オブジェクトを作成します。 |
Name |
createName(String localName, String prefix, String uri)
指定したローカル名、名前空間接頭辞および名前空間 URI を使用して初期化された新しい
Name オブジェクトを作成します。 |
SOAPBody |
getBody()
この
SOAPEnvelope オブジェクトに関連付けられた SOAPBody オブジェクトを返します。 |
SOAPHeader |
getHeader()
この
SOAPEnvelope オブジェクトの SOAPHeader オブジェクトを返します。 |
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
オブジェクトを作成します。
このファクトリメソッドは、SOAP/XML ドキュメントで使用する Name
オブジェクトを作成します。
localName
- ローカル名を指定する String
prefix
- 名前空間の接頭辞を指定する String
uri
- 名前空間の URI を指定する String
Name
オブジェクトSOAPException
- SOAP エラーが存在する場合Name createName(String localName) throws SOAPException
Name
オブジェクトを作成します。
このファクトリメソッドは、SOAP/XML ドキュメントで使用する Name
オブジェクトを作成します。
localName
- ローカル名を指定する String
Name
オブジェクトSOAPException
- SOAP エラーが存在する場合SOAPHeader getHeader() throws SOAPException
SOAPEnvelope
オブジェクトの SOAPHeader
オブジェクトを返します。
デフォルトでは、新しい SOAPMessage
オブジェクトの作成に、空の SOAPHeader
オブジェクトを保持する SOAPEnvelope
オブジェクトを使用します。そのため、getHeader
メソッドは、ヘッダーを削除して新しいものが追加されなかった場合を除き、常に SOAPHeader
オブジェクトを返します。
SOAPHeader
オブジェクト。ない場合は null
SOAPException
- SOAPHeader
オブジェクトの取得時に問題が発生した場合SOAPBody getBody() throws SOAPException
SOAPEnvelope
オブジェクトに関連付けられた SOAPBody
オブジェクトを返します。
デフォルトでは、新しい SOAPMessage
オブジェクトの作成に、空の SOAPBody
オブジェクトを保持する SOAPEnvelope
オブジェクトを使用します。そのため、getBody
メソッドは、本体を削除して新しいものが追加されなかった場合を除き、常に SOAPBody
オブジェクトを返します。
SOAPEnvelope
の SOAPBody
オブジェクト。存在しない場合は null
SOAPException
- SOAPBody
オブジェクトの取得時に問題が発生した場合SOAPHeader addHeader() throws SOAPException
SOAPHeader
オブジェクトを作成し、それをこの SOAPEnvelope
オブジェクトの SOAPHeader
オブジェクトとして設定します。
エンベロープにすでにヘッダーが含まれている場合、ヘッダーを追加することはできません。そのため、このメソッドは既存のヘッダーを削除してから呼び出してください。
SOAPHeader
オブジェクトSOAPException
- SOAPEnvelope
オブジェクトにすでに有効な SOAPHeader
オブジェクトが含まれている場合SOAPBody addBody() throws SOAPException
SOAPBody
オブジェクトを作成し、それをこの SOAPEnvelope
オブジェクトの SOAPBody
オブジェクトとして設定します。
エンベロープにすでに本体が含まれている場合、本体を追加することはできません。そのため、このメソッドは既存の本体を削除してから呼び出してください。
SOAPBody
オブジェクトSOAPException
- SOAPEnvelope
オブジェクトにすでに有効な SOAPBody
オブジェクトが含まれている場合 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.