public abstract class SOAPMessage extends ObjectSE
SOAPMessage オブジェクトは、SOAP パーツと、オプションで 1 つ以上のアタッチメントパーツで構成されます。SOAPMessage オブジェクトの SOAP 部分は SOAPPart オブジェクトであり、メッセージのルーティングと識別に使用される情報が含まれ、アプリケーション固有のコンテンツを含めることができます。メッセージの SOAP 部分のすべてのデータは、XML 形式である必要があります。
新しい SOAPMessage オブジェクトには、デフォルトで次のものが含まれています。
SOAPPart オブジェクト SOAPEnvelope オブジェクト SOAPBody オブジェクト SOAPHeader オブジェクトSOAPMessage.getSOAPPart() を呼び出すことで取得できます。SOAPEnvelope オブジェクトは SOAPPart オブジェクトから取得され、SOAPEnvelope オブジェクトは SOAPBody および SOAPHeader オブジェクトを取得するために使用されます。
SOAPPart sp = message.getSOAPPart();
SOAPEnvelope se = sp.getEnvelope();
SOAPBody sb = se.getBody();
SOAPHeader sh = se.getHeader();
必須の SOAPPart オブジェクトに加えて、SOAPMessage オブジェクトには 0 個以上の AttachmentPart オブジェクトが含まれる場合があり、各オブジェクトにはアプリケーション固有のデータが含まれます。SOAPMessage インターフェースは、AttachmentPart オブジェクトを作成し、SOAPMessage オブジェクトに追加するためのメソッドを提供します。SOAPMessage オブジェクトを受け取ったパーティは、個々のアタッチメントパーツを取得することでその内容を調べることができます。
他の SOAP メッセージとは異なり、添付ファイルは XML 形式である必要はないため、単純なテキストからイメージファイルまで何でもかまいません。XML 形式でないメッセージコンテンツはすべて AttachmentPart オブジェクトに含まれている必要があります。
MessageFactory オブジェクトは、SAAJ の特定の実装またはアプリケーションに特化した動作で SOAPMessage オブジェクトを作成する場合があります。たとえば、MessageFactory オブジェクトは、ebXML などの特定のプロファイルに準拠する SOAPMessage オブジェクトを生成する場合があります。この場合、MessageFactory オブジェクトは、ebXML ヘッダーで初期化される SOAPMessage オブジェクトを生成する可能性があります。
ソースの後方互換性を確保するために、SAAJ 仕様のバージョン 1.1 の後にこのクラスに追加されるメソッドは、抽象ではなくすべて具象であり、すべてデフォルトの実装があります。これらのメソッドの JavaDocs で特に明記されていない限り、デフォルトの実装は単に UnsupportedOperationException をスローし、SAAJ 実装コードは指定された動作を提供するメソッドでオーバーライドする必要があります。ただし、レガシークライアントコードにはこの制限はありません。ただし、元の仕様よりも新しいバージョンの仕様に準拠しているという主張がない限りです。SOAPMessage クラスを継承するレガシークラスは、変更することなく、SAAJAPI の後続バージョンに対してコンパイルおよび / または実行できます。そのようなクラスが正しく実装されていれば、それが作成された仕様のバージョンに対して引き続き正しく動作します。
MessageFactory, AttachmentPart| 修飾子と型 | フィールドと説明 |
|---|---|
static StringSE | CHARACTER_SET_ENCODINGSOAP メッセージの文字型エンコーディングを指定します。 |
static StringSE | WRITE_XML_DECLARATION 送信時に SOAP メッセージに XML 宣言を含めるかどうかを指定します。 |
| コンストラクターと説明 |
|---|
SOAPMessage() |
| 修飾子と型 | メソッドと説明 |
|---|---|
abstract void | addAttachmentPart(AttachmentPart attachmentPart) 指定された AttachmentPart オブジェクトをこの SOAPMessage オブジェクトに追加します。 |
abstract int | countAttachments() このメッセージの添付ファイルの数を取得します。 |
abstract AttachmentPart | createAttachmentPart() 新しい空の AttachmentPart オブジェクトを作成します。 |
AttachmentPart | createAttachmentPart(DataHandler dataHandler)AttachmentPart オブジェクトを作成し、指定された DataHandler オブジェクトを使用してデータを設定します。 |
AttachmentPart | createAttachmentPart(ObjectSE content, StringSE contentType)AttachmentPart オブジェクトを作成し、指定されたコンテンツ型の指定されたデータを入力します。 |
abstract AttachmentPart | getAttachment(SOAPElement element) この SOAPElement または null によって参照される添付ファイルに関連付けられている AttachmentPart オブジェクトを返します(そのような添付ファイルが存在しない場合)。 |
abstract IteratorSE<AttachmentPart> | getAttachments() この SOAPMessage オブジェクトの一部であるすべての AttachmentPart オブジェクトを取得します。 |
abstract IteratorSE<AttachmentPart> | getAttachments(MimeHeaders headers) 指定されたヘッダーと一致するヘッダーエントリを持つすべての AttachmentPart オブジェクトを取得します。 |
abstract StringSE | getContentDescription() この SOAPMessage オブジェクトのコンテンツの説明を取得します。 |
abstract MimeHeaders | getMimeHeaders() この SOAPMessage オブジェクトのすべてのトランスポート固有の MIME ヘッダーをトランスポートに依存しない方法で返します。 |
ObjectSE | getProperty(StringSE property) 指定されたプロパティの値を取得します。 |
SOAPBody | getSOAPBody() この SOAPMessage オブジェクトに含まれる SOAP 本体を取得します。 |
SOAPHeader | getSOAPHeader() この SOAPMessage オブジェクトに含まれる SOAP ヘッダーを取得します。 |
abstract SOAPPart | getSOAPPart() この SOAPMessage オブジェクトの SOAP 部分を取得します。 |
abstract void | removeAllAttachments() この SOAPMessage オブジェクトに追加されたすべての AttachmentPart オブジェクトを削除します。 |
abstract void | removeAttachments(MimeHeaders headers) 指定されたヘッダーと一致するヘッダーエントリを持つすべての AttachmentPart オブジェクトを削除します。 |
abstract void | saveChanges() この SOAPMessage オブジェクトを、それに加えられたすべての変更で更新します。 |
abstract boolean | saveRequired() この SOAPMessage オブジェクトでメソッド saveChanges を呼び出す必要があるかどうかを示します。 |
abstract void | setContentDescription(StringSE description) この SOAPMessage オブジェクトのコンテンツの説明を指定された説明で設定します。 |
void | setProperty(StringSE property, ObjectSE value) 指定された値を指定されたプロパティに関連付けます。 |
abstract void | writeTo(OutputStreamSE out) この SOAPMessage オブジェクトを指定された出力ストリームに書き込みます。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic static final StringSE CHARACTER_SET_ENCODING
SOAPMessage.setProperty, 定数フィールド値 public static final StringSE WRITE_XML_DECLARATION
SOAPMessage.setProperty, 定数フィールド値 public abstract void setContentDescription(StringSE description)
SOAPMessage オブジェクトのコンテンツの説明を指定された説明で設定します。description - このメッセージの内容を説明する String getContentDescription()public abstract StringSE getContentDescription()
SOAPMessage オブジェクトのコンテンツの説明を取得します。String、または説明が設定されていない場合は null setContentDescription(java.lang.String)public abstract SOAPPart getSOAPPart()
SOAPMessage オブジェクトの SOAP 部分を取得します。SOAPMessage オブジェクトには 1 つ以上の添付ファイルが含まれているため、SOAP パーツはメッセージの最初の MIME 本文パーツである必要があります。
SOAPMessage オブジェクトの SOAPPart オブジェクト public SOAPBody getSOAPBody() throws SOAPException
SOAPMessage オブジェクトに含まれる SOAP 本体を取得します。SOAPMessage オブジェクトに含まれる SOAPBody オブジェクト SOAPException - SOAP 本体が存在しないか、取得できない場合 public SOAPHeader getSOAPHeader() throws SOAPException
SOAPMessage オブジェクトに含まれる SOAP ヘッダーを取得します。SOAPMessage オブジェクトに含まれる SOAPHeader オブジェクト SOAPException - SOAP ヘッダーが存在しないか、取得できない場合 public abstract void removeAllAttachments()
SOAPMessage オブジェクトに追加されたすべての AttachmentPart オブジェクトを削除します。このメソッドは SOAP 部分には影響しません。
public abstract int countAttachments()
SOAPMessage オブジェクトの一部である AttachmentPart オブジェクトの数 public abstract IteratorSE<AttachmentPart> getAttachments()
SOAPMessage オブジェクトの一部であるすべての AttachmentPart オブジェクトを取得します。public abstract IteratorSE<AttachmentPart> getAttachments(MimeHeaders headers)
AttachmentPart オブジェクトを取得します。返される添付ファイルには、指定されたものに加えてヘッダーが含まれる可能性があることに注意してください。headers - 検索対象の MIME ヘッダーを含む MimeHeaders オブジェクト public abstract void removeAttachments(MimeHeaders headers)
AttachmentPart オブジェクトを削除します。削除された添付ファイルには、指定されたものに加えてヘッダーが含まれる可能性があることに注意してください。headers - 検索対象の MIME ヘッダーを含む MimeHeaders オブジェクト public abstract AttachmentPart getAttachment(SOAPElement element) throws SOAPException
SOAPElement または null によって参照される接続ファイルが存在しない場合は、その接続ファイルに関連付けられている AttachmentPart オブジェクトを返します。参照は、添付ファイル付きの SOAP メッセージで説明されている href 属性を介して、またはスキーマ型参照: swaRef の要素の WS-I 接続ファイルプロファイル 1.0 で説明されている URI を含む単一の Text 子ノードを介して作成できます。これら 2 つのメカニズムをサポートする必要があります。href 属性による参照のサポートは、このメソッドが xop:Include 要素 ( XOP ) である要素でもサポートされる必要があることも意味します。他の参照メカニズムは、この規格の個々の実装によってサポートされる場合があります。詳細については、ベンダーにお問い合わせください。element - 添付ファイルへの参照を含む SOAPElement AttachmentPart、またはそのような AttachmentPart が存在しない場合、この SOAPElement に参照が見つからない場合は null。SOAPException - 添付ファイルへのアクセスにエラーが発生した場合 public abstract void addAttachmentPart(AttachmentPart attachmentPart)
AttachmentPart オブジェクトをこの SOAPMessage オブジェクトに追加します。AttachmentPart オブジェクトは、メッセージに追加する前に作成する必要があります。attachmentPart - この SOAPMessage オブジェクトの一部となる attachmentPart オブジェクト IllegalArgumentExceptionSE - 指定された attachmentPart オブジェクトに問題があった場合 public abstract AttachmentPart createAttachmentPart()
AttachmentPart オブジェクトを作成します。メソッド addAttachmentPart は、この SOAPMessage オブジェクトへのアタッチメントになるために、この新しい AttachmentPart オブジェクトをパラメーターとして呼び出す必要があることに注意してください。SOAPMessage オブジェクトに入力して追加できる新しい AttachmentPart オブジェクト public AttachmentPart createAttachmentPart(DataHandler dataHandler)
AttachmentPart オブジェクトを作成し、指定された DataHandler オブジェクトを使用してデータを設定します。dataHandler - この SOAPMessage オブジェクトのコンテンツを生成する jakarta.activation.DataHandler オブジェクト DataHandler オブジェクトによって生成されたデータを含む新しい AttachmentPart オブジェクト IllegalArgumentExceptionSE - 指定された DataHandler オブジェクトに問題があった場合 DataHandler, DataContentHandlerpublic abstract MimeHeaders getMimeHeaders()
SOAPMessage オブジェクトのすべてのトランスポート固有の MIME ヘッダーをトランスポートに依存しない方法で返します。MimeHeader オブジェクトを含む MimeHeaders オブジェクト public AttachmentPart createAttachmentPart(ObjectSE content, StringSE contentType)
AttachmentPart オブジェクトを作成し、指定されたコンテンツ型の指定されたデータをそのオブジェクトに入力します。Object の型は、Content-Type に指定された値に対応している必要があります。content - 作成する AttachmentPart オブジェクトのコンテンツを含む Object contentType - コンテンツの型を提供する String オブジェクト。例としては、"text/xml","text/plain"、および "image/jpeg" があります。AttachmentPart オブジェクト IllegalArgumentExceptionSE - contentType がコンテンツオブジェクトの型と一致しない場合、または指定されたコンテンツオブジェクトに DataContentHandler オブジェクトがなかった場合にスローされる可能性があります。DataHandler, DataContentHandlerpublic abstract void saveChanges()
throws SOAPExceptionSOAPMessage オブジェクトを、それに加えられたすべての変更で更新します。このメソッドは、writeTo(OutputStream) が呼び出されると自動的に呼び出されます。ただし、受信したメッセージまたはすでに送信されたメッセージに変更が加えられた場合、変更を保存するには、メソッド saveChanges を明示的に呼び出す必要があります。メソッド saveChanges は、読み戻すことができる変更も生成します(たとえば、メッセージ ID をサポートするプロファイルの MessageId)。送信目的で作成されたメッセージ内のすべての MIME ヘッダーは、saveChanges が呼び出された後にのみ有効な値を持つことが保証されます。 さらに、このメソッドは、すべての構成 AttachmentPart オブジェクトからのデータがメッセージにプルされるポイントをマークします。
SOAPException - このメッセージへの変更を保存する際に問題が発生した場合。public abstract boolean saveRequired()
SOAPMessage オブジェクトでメソッド saveChanges を呼び出す必要があるかどうかを示します。saveChanges を呼び出す必要がある場合は true。それ以外の場合は false。public abstract void writeTo(OutputStreamSE out) throws SOAPException, IOExceptionSE
SOAPMessage オブジェクトを指定された出力ストリームに書き込みます。外部化形式は、添付ファイル付きの SOAP 1.1 仕様で定義されているとおりです。 添付ファイルがない場合は、XML ストリームのみが書き出されます。添付ファイルのあるメッセージの場合、writeTo は MIME エンコードされたバイトストリームを書き込みます。
このメソッドは、メッセージのトランスポート固有の MIME ヘッダーを書き込まないことに注意してください
out - この SOAPMessage オブジェクトが書き込まれる OutputStream オブジェクト IOExceptionSE - I/O エラーが発生した場合 SOAPException - この SOAP メッセージの外部化に問題があった場合 public void setProperty(StringSE property, ObjectSE value) throws SOAPException
有効なプロパティ名には WRITE_XML_DECLARATION と CHARACTER_SET_ENCODING が含まれます。これらの標準の SAAJ プロパティはすべて、"jakarta.xml.soap" というプレフィックスが付いています。ベンダーは、実装固有のプロパティを追加することもできます。これらのプロパティには、ベンダーに固有のパッケージ名のプレフィックスを付ける必要があります。
プロパティ WRITE_XML_DECLARATION を "true" に設定すると、SOAP メッセージの開始時に XML 宣言が書き出されます。デフォルト値の "false" は、この宣言を抑制します。
プロパティ CHARACTER_SET_ENCODING のデフォルト値は "utf-8" であり、これにより、SOAP メッセージは UTF-8 を使用してエンコードされます。CHARACTER_SET_ENCODING を "utf-16" に設定すると、SOAP メッセージは UTF-16 を使用してエンコードされます。
一部の実装では、UTF-8 および UTF-16 に加えてエンコーディングが許可される場合があります。詳細については、ベンダーのドキュメントを参照してください。
property - 指定された値が関連付けられるプロパティ。value - 指定されたプロパティに関連付けられる値 SOAPException - プロパティ名が認識されない場合。public ObjectSE getProperty(StringSE property) throws SOAPException
property - 取得するプロパティの名前 null。SOAPException - プロパティ名が認識されない場合。Copyright © 2018,2020 Eclipse Foundation.
Use is subject to license terms.