|
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
- ローカル名を指定した 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
オブジェクトが含まれている場合
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。