モジュール java.xml.ws
パッケージ javax.xml.soap

クラスSOAPPart

  • すべての実装されたインタフェース:
    Node, Document, Node


    public abstract class SOAPPart
    extends Object
    implements Document, Node
    SOAPMessageオブジェクトのSOAP固有の部分のコンテナ。 すべてのメッセージはSOAP部を持つよう要求されているため、SOAPMessageオブジェクトが作成されると自動的にSOAPPartオブジェクトを持ちます。

    SOAPPartオブジェクトはMIME部であり、Content-Id、Content-Location、およびContent-TypeのMIMEヘッダーを持ちます。 Content-Typeの値は"text/xml"である必要があるため、SOAPPartオブジェクトは自動的にContent-Typeの値が"text/xml"に設定されたMIMEヘッダーを持ちます。 メッセージのSOAP部のコンテンツはXML形式である必要があるため、値は"text/xml"である必要があります。 タイプ"text/xml"でないコンテンツは、SOAPPartオブジェクトの中ではなくAttachmentPartオブジェクトの中に入れる必要があります。

    メッセージが送信される際、メッセージのSOAP部にはMIMEヘッダーのContent-Typeを"text/xml"に設定する必要があります。 または、別の視点では、受信する任意のメッセージのSOAP部は、MIMEヘッダーのContent-Typeを"text/xml"の値で持つ必要があります。

    クライアントは、SOAPMessage.getSOAPPartメソッドを呼び出してSOAPMessageオブジェクトのSOAPPartオブジェクトにアクセスできます。 次のコードでは、messageSOAPMessageオブジェクトで、メッセージのSOAP部を取得します。

    
       SOAPPart soapPart = message.getSOAPPart();
     

    SOAPPartオブジェクトはSOAPEnvelopeオブジェクトを含み、順にSOAPBodyオブジェクトおよびSOAPHeaderオブジェクトを含みます。 SOAPPartメソッドgetEnvelopeを使用すると、SOAPEnvelopeオブジェクトを取得できます。

    導入されたバージョン:
    1.6
    • コンストラクタの詳細

      • SOAPPart

        public SOAPPart​()
    • メソッドの詳細

      • getEnvelope

        public abstract SOAPEnvelope getEnvelope​()
                                          throws SOAPException
        このSOAPPartオブジェクトに関連付けられたSOAPEnvelopeオブジェクトを取得します。 SOAPエンベロープを取得したなら、それを使用してコンテンツを取得できます。
        戻り値:
        このSOAPPartオブジェクトのSOAPEnvelopeオブジェクト
        例外:
        SOAPException - SOAPエラーが存在する場合
      • getContentId

        public String getContentId​()
        名前が"Content-Id"であるMIMEヘッダーの値を取得します。
        戻り値:
        "Content-Id"という名前のMIMEヘッダーの値を示すString
        関連項目:
        setContentId(java.lang.String)
      • getContentLocation

        public String getContentLocation​()
        名前が"Content-Location"であるMIMEヘッダーの値を取得します。
        戻り値:
        "Content-Location"という名前のMIMEヘッダーの値を示すString
        関連項目:
        setContentLocation(java.lang.String)
      • setContentId

        public void setContentId​(String contentId)
        名前が「Content-Id」であるMIMEヘッダーの値を、指定されたStringに設定します。
        パラメータ:
        contentId - MIMEヘッダー"Content-Id"の値を示すString
        例外:
        IllegalArgumentException - コンテンツIDの設定時に問題が発生した場合
        関連項目:
        getContentId()
      • setContentLocation

        public void setContentLocation​(String contentLocation)
        MIMEヘッダー「Content-Location」の値を、指定されたStringに設定します。
        パラメータ:
        contentLocation - MIMEヘッダー"Content-Location"の値を示すString
        例外:
        IllegalArgumentException - コンテンツの場所の設定時に問題が発生した場合。
        関連項目:
        getContentLocation()
      • removeMimeHeader

        public abstract void removeMimeHeader​(String header)
        指定した名前に一致するMIMEヘッダーをすべて削除します。
        パラメータ:
        header - 削除するMIMEヘッダーの名前を示すString
      • removeAllMimeHeaders

        public abstract void removeAllMimeHeaders​()
        このSOAPEnvelopeオブジェクトのMimeHeaderオブジェクトをすべて削除します。
      • getMimeHeader

        public abstract String[] getMimeHeader​(String name)
        指定されたStringで識別されるこのSOAPPartオブジェクト内のMimeHeaderオブジェクトの、すべての値を取得します。
        パラメータ:
        name - ヘッダーの名前。例: "Content-Type"
        戻り値:
        指定したヘッダーのすべての値を示すString配列
        関連項目:
        setMimeHeader(java.lang.String, java.lang.String)
      • setMimeHeader

        public abstract void setMimeHeader​(String name,
                                           String value)
        指定したヘッダー名に一致する最初のヘッダー・エントリを変更してその値が指定した値になるようにし、既存のヘッダーで一致するものがない場合は指定した名前の新しいヘッダーを追加します。 一致するヘッダーが存在する場合、このメソッドが、一致する最初のヘッダーの既存の値すべてをクリアにし、代わりに指定された値で設定します。 複数のヘッダーが指定した名前を持つ場合、このメソッドは、最初に一致したヘッダーのあとに一致するヘッダーをすべて削除します。

        RFC822ヘッダーはUS-ASCII文字だけを含むことが可能である点に注意してください。

        パラメータ:
        name - 検索するヘッダー名を指定するString
        value - 設定される値を示すString この値は、一致するヘッダーがある場合には最初のヘッダーの現在の値と置き換えられる。 一致がない場合、この値は新しいMimeHeaderオブジェクトの値になる。
        例外:
        IllegalArgumentException - 指定したMIMEヘッダー名または値に問題があった場合
        関連項目:
        getMimeHeader(java.lang.String)
      • addMimeHeader

        public abstract void addMimeHeader​(String name,
                                           String value)
        指定された名前および値を含むMimeHeaderオブジェクトを作成し、それをこのSOAPPartオブジェクトに追加します。 指定された名前を持つMimeHeaderがすでに存在する場合、このメソッドは指定した値を既存の値に追加します。

        RFC822ヘッダーはUS-ASCII文字だけを含むことが可能である点に注意してください。

        パラメータ:
        name - ヘッダー名を指定するString
        value - 設定または追加される値を示すString
        例外:
        IllegalArgumentException - 指定したMIMEヘッダー名または値に問題があった場合
      • getAllMimeHeaders

        public abstract Iterator<MimeHeader> getAllMimeHeaders​()
        このSOAPPartオブジェクトのすべてのヘッダーをMimeHeaderオブジェクトのイテレータとして取得します。
        戻り値:
        このSOAPPartオブジェクトのMIMEヘッダーすべてを含むIteratorオブジェクト
      • getMatchingMimeHeaders

        public abstract Iterator<MimeHeader> getMatchingMimeHeaders​(String[] names)
        指定した配列内の名前に一致するすべてのMimeHeaderオブジェクトを取得します。
        パラメータ:
        names - 返されるMIMEヘッダーの名前を含むString配列
        戻り値:
        指定した配列内の名前の1つと一致するMIMEヘッダーすべてを、Iteratorオブジェクトとして返す
      • getNonMatchingMimeHeaders

        public abstract Iterator<MimeHeader> getNonMatchingMimeHeaders​(String[] names)
        名前が指定した配列内の名前と一致しないすべてのMimeHeaderオブジェクトを取得します。
        パラメータ:
        names - 返されないMIMEヘッダーの名前を含むString配列
        戻り値:
        指定した配列内の名前の1つに一致するものを除く、このSOAPPartオブジェクト内のすべてのMIMEヘッダー。 一致しないMIMEヘッダーは、Iteratorオブジェクトとして返される。
      • setContent

        public abstract void setContent​(Source source)
                                 throws SOAPException
        SOAPEnvelopeオブジェクトのコンテンツを、指定したSourceオブジェクトからのデータに設定します。 このSourceには、有効なSOAPドキュメントが含まれている必要があります。
        パラメータ:
        source - 設定するデータを含むjavax.xml.transform.Sourceオブジェクト
        例外:
        SOAPException - sourceの設定時に問題がある場合
        関連項目:
        getContent()
      • getContent

        public abstract Source getContent​()
                                   throws SOAPException
        SOAPEnvelopeのコンテンツをJAXP Sourceオブジェクトとして返します。
        戻り値:
        javax.xml.transform.Sourceオブジェクトとしてのコンテンツ
        例外:
        SOAPException - 実装が、指定したSourceオブジェクトを変換できない場合
        関連項目:
        setContent(javax.xml.transform.Source)