パッケージ jakarta.xml.soap

インターフェース SOAPEnvelope

  • すべてのスーパーインターフェース:
    ElementSENodeNodeSESOAPElement

    public interface SOAPEnvelope
    extends SOAPElement
    SOAPPart オブジェクトの SOAPHeader および SOAPBody 部分のコンテナー。デフォルトでは、SOAPMessage オブジェクトは、SOAPEnvelope オブジェクトを持つ SOAPPart オブジェクトを使用して作成されます。デフォルトでは、SOAPEnvelope オブジェクトには空の SOAPBody オブジェクトと空の SOAPHeader オブジェクトがあります。SOAPBody オブジェクトは必須であり、SOAPHeader オブジェクトはオプションですが、ほとんどの場合に使用されます。SOAPHeader オブジェクトが必要ない場合は、後で示すように削除できます。

    クライアントは、メソッド SOAPEnvelope.getHeader および SOAPEnvelope.getBody を呼び出すことにより、SOAPHeader および SOAPBody オブジェクトにアクセスできます。 次のコード行は、SOAPMessage オブジェクトメッセージで開始した後、これら 2 つのメソッドを使用して SOAPPart オブジェクト sp を取得します。次に、これを使用して SOAPEnvelope オブジェクト se を取得します。

    
         SOAPPart sp = message.getSOAPPart();
         SOAPEnvelope se = sp.getEnvelope();
         SOAPHeader sh = se.getHeader();
         SOAPBody sb = se.getBody();
     

    SOAPEnvelope オブジェクトの本文またはヘッダーを変更するには、現在のものを取得して削除し、新しい本文またはヘッダーを追加します。jakarta.xml.soap.Node メソッド detachNode は、呼び出された 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");
     
    導入:
    1.6
    • メソッドの詳細

      • createName

        Name createName​(StringSE localName,
                        StringSE prefix,
                        StringSE uri)
                 throws SOAPException
        指定されたローカル名、名前空間プレフィックス、名前空間 URI で初期化された新しい Name オブジェクトを作成します。

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

        パラメーター:
        localName - ローカル名を与える String 
        prefix - 名前空間のプレフィックスを与える String 
        uri - 名前空間の URI を提供する String 
        戻り値:
        指定されたローカル名、名前空間プレフィックス、名前空間 URI で初期化された Name オブジェクト
        例外:
        SOAPException - SOAP エラーがある場合
      • createName

        Name createName​(StringSE localName,
                        StringSE uri)
                 throws SOAPException
        指定されたローカル名と名前空間プレフィックスで初期化された新しい Name オブジェクトを作成します。

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

        パラメーター:
        localName - ローカル名を与える String 
        uri - 名前空間の URI を提供する String 
        戻り値:
        指定されたローカル名、名前空間プレフィックス、名前空間 URI で初期化された Name オブジェクト
        例外:
        SOAPException - SOAP エラーがある場合
      • createName

        Name createName​(StringSE 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 オブジェクトが含まれている場合