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, 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 オブジェクトを作成します。
このファクトリメソッドは、SOAP/XML ドキュメントで使用する Name オブジェクトを作成します。
localName - ローカル名を指定する Stringprefix - 名前空間の接頭辞を指定する Stringuri - 名前空間の URI を指定する StringName オブジェクトSOAPException - SOAP エラーが存在する場合Name createName(String localName) throws SOAPException
Name オブジェクトを作成します。
このファクトリメソッドは、SOAP/XML ドキュメントで使用する Name オブジェクトを作成します。
localName - ローカル名を指定する StringName オブジェクトSOAPException - SOAP エラーが存在する場合SOAPHeader getHeader() throws SOAPException
SOAPEnvelope オブジェクトの SOAPHeader オブジェクトを返します。
デフォルトでは、新しい SOAPMessage オブジェクトの作成に、空の SOAPHeader オブジェクトを保持する SOAPEnvelope オブジェクトを使用します。そのため、getHeader メソッドは、ヘッダーを削除して新しいものが追加されなかった場合を除き、常に SOAPHeader オブジェクトを返します。
SOAPHeader オブジェクト。ない場合は nullSOAPException - SOAPHeader オブジェクトの取得時に問題が発生した場合SOAPBody getBody() throws SOAPException
SOAPEnvelope オブジェクトに関連付けられた SOAPBody オブジェクトを返します。
デフォルトでは、新しい SOAPMessage オブジェクトの作成に、空の SOAPBody オブジェクトを保持する SOAPEnvelope オブジェクトを使用します。そのため、getBody メソッドは、本体を削除して新しいものが追加されなかった場合を除き、常に SOAPBody オブジェクトを返します。
SOAPEnvelope の SOAPBody オブジェクト。存在しない場合は nullSOAPException - 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.