|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
public interface SOAPEnvelope
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");
| フィールドの概要 |
|---|
| メソッドの概要 | |
|---|---|
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.Node から継承されたメソッド |
|---|
detachNode, getParentElement, getValue, recycleNode, setParentElement, setValue |
| メソッドの詳細 |
|---|
Name createName(String localName,
String prefix,
String uri)
throws SOAPException
Name オブジェクトを作成します。
このファクトリメソッドは、SOAP/XML ドキュメントで使用する Name オブジェクトを作成します。
localName - ローカル名を指定した Stringprefix - 名前空間の接頭辞を指定する Stringuri - 名前空間の 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 オブジェクトが含まれている場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
| 前のクラス 次のクラス | フレームあり フレームなし | |||||||||
| 概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド | |||||||||
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。