JavaTM Platform
Standard Ed. 6

javax.xml.soap
インタフェース SOAPEnvelope

すべてのスーパーインタフェース:
Element, Node, SOAPElement

public interface SOAPEnvelope
extends SOAPElement

SOAPPart オブジェクトの SOAPHeader と SOAPBody 部分のコンテナです。デフォルトでは、SOAPMessage オブジェクトは SOAPEnvelope オブジェクトを保持する SOAPPart オブジェクトで作成されます。デフォルトの SOAPEnvelope オブジェクトは、空の SOAPBody オブジェクトと空の SOAPHeader オブジェクトを保有しています。SOAPBody オブジェクトは必須です。SOAPHeader オブジェクトは任意ですが、ほとんどの場合に使用されています。SOAPHeader オブジェクトが必要でない場合、削除できます (後述)。  

クライアントは、SOAPEnvelope.getHeaderSOAPEnvelope.getBody メソッドを呼び出すことで、SOAPHeaderSOAPBody オブジェクトにアクセスできます。次のコードでは、SOAPMessage オブジェクトの messageSOAPPart オブジェクトの 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 を作成します。次のコード (seSOAPEnvelope オブジェクト) に、3 つすべての引数を使用して新しい Name オブジェクトを作成する例を示します。

     Name name = se.createName("GetLastTradePrice", "WOMBAT",
                                "http://www.wombat.org/trader");
 


フィールドの概要
 
インタフェース 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
 
メソッドの概要
 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 オブジェクトを返します。
 
インタフェース 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
 
インタフェース javax.xml.soap.Node から継承されたメソッド
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue
 
インタフェース org.w3c.dom.Element から継承されたメソッド
getAttribute, getAttributeNode, getAttributeNodeNS, getAttributeNS, getElementsByTagName, getElementsByTagNameNS, getSchemaTypeInfo, getTagName, hasAttribute, hasAttributeNS, removeAttribute, removeAttributeNode, removeAttributeNS, setAttribute, setAttributeNode, setAttributeNodeNS, setAttributeNS, setIdAttribute, setIdAttributeNode, setIdAttributeNS
 
インタフェース 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
 

メソッドの詳細

createName

Name createName(String localName,
                String prefix,
                String uri)
                throws SOAPException
指定のローカル名、名前空間接頭辞、名前空間 URI で初期化された Name オブジェクトを新しく作成します。  

このファクトリメソッドは、SOAP/XML ドキュメントで使用する Name オブジェクトを作成します。

パラメータ:
localName - ローカル名を提供する String
prefix - 名前空間の接頭辞を提供する String
uri - 名前空間の URI を提供する String
戻り値:
指定のローカル名、名前空間接頭辞、名前空間 URI で初期化された Name オブジェクト
例外:
SOAPException - SOAP エラーが発生した場合

createName

Name createName(String localName)
                throws SOAPException
指定のローカル名で初期化された Name オブジェクトを新しく作成します。  

このファクトリメソッドは、SOAP/XML ドキュメントで使用する Name オブジェクトを作成します。

パラメータ:
localName - ローカル名を提供する String
戻り値:
指定のローカル名で初期化された Name オブジェクト
例外:
SOAPException - SOAP エラーが発生した場合

getHeader

SOAPHeader getHeader()
                     throws SOAPException
この SOAPEnvelope オブジェクトの SOAPHeader オブジェクトを返します。  

デフォルトでは、新しい SOAPMessage オブジェクトの作成に、空の SOAPHeader オブジェクトを保持する SOAPEnvelope オブジェクトを使用します。そのため、getHeader メソッドは、ヘッダーを削除して新しいものが追加されなかった場合を除き、常に SOAPHeader オブジェクトを返します。

戻り値:
SOAPHeader オブジェクト、 存在しない場合は null
例外:
SOAPException - SOAPHeader オブジェクトの取得に 問題が発生した場合

getBody

SOAPBody getBody()
                 throws SOAPException
この SOAPEnvelope オブジェクトに関連した SOAPBody オブジェクトを返します。  

デフォルトでは、新しい SOAPMessage オブジェクトの作成に、空の SOAPBody オブジェクトを保持する SOAPEnvelope オブジェクトを使用します。そのため、getBody メソッドは、本体を削除して新しいものが追加されなかった場合を除き、常に SOAPBody オブジェクトを返します。

戻り値:
この SOAPEnvelope オブジェクトの SOAPBody オブジェクト、 存在しない場合は null
例外:
SOAPException - SOAPBody オブジェクトの取得に 問題が発生した場合

addHeader

SOAPHeader addHeader()
                     throws SOAPException
SOAPHeader オブジェクトを作成し、この SOAPEnvelope オブジェクトの SOAPHeader オブジェクトとして設定します。  

エンベロープにすでにヘッダーが含まれている場合、ヘッダーを追加することはできません。そのため、このメソッドは既存のヘッダーを削除してから呼び出してください。

戻り値:
新しい SOAPHeader オブジェクト
例外:
SOAPException - この SOAPEnvelope オブジェクトがすでに 有効なSOAPHeader オブジェクトを保有している場合

addBody

SOAPBody addBody()
                 throws SOAPException
SOAPBody オブジェクトを作成し、この SOAPEnvelope オブジェクトの SOAPBody オブジェクトとして設定します。  

エンベロープにすでに本体が含まれている場合、本体を追加することはできません。そのため、このメソッドは既存の本体を削除してから呼び出してください。

戻り値:
新しい SOAPBody オブジェクト
例外:
SOAPException - この SOAPEnvelope オブジェクトがすでに 有効な SOAPBody オブジェクトを保有している場合

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。