パッケージ jakarta.xml.soap
クラス MessageFactory
- java.lang.ObjectSE
-
- jakarta.xml.soap.MessageFactory
public abstract class MessageFactory extends ObjectSE
SOAPMessage
オブジェクトを作成するためのファクトリ。SAAJ クライアントは、次のコード行に示すように、メソッド
newInstance
を使用してMessageFactory
オブジェクトを作成できます。MessageFactory mf = MessageFactory.newInstance(); MessageFactory mf12 = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
すべての
MessageFactory
オブジェクトは、作成方法に関係なく、デフォルトで次の要素を持つSOAPMessage
オブジェクトを生成します。SOAPPart
オブジェクトSOAPEnvelope
オブジェクトSOAPBody
オブジェクトSOAPHeader
オブジェクト
SOAPHeader
オブジェクトおよびSOAPBody
オブジェクトに追加のエントリが事前入力されたメッセージを生成する特殊な MessageFactory オブジェクトが取得されることがあります。新しいSOAPMessage
オブジェクトの内容は、2 つのMessageFactory
メソッドのどちらを使用して作成するかによって異なります。createMessage()
これは、クライアントがリクエストメッセージを作成するために通常使用する方法です。createMessage(MimeHeaders, java.io.InputStream)
-- メッセージには、InputStream
オブジェクトのコンテンツとMimeHeaders
オブジェクトのヘッダーが含まれています
このメソッドは、サービス実装によって内部的に使用され、リクエストへのレスポンスであるメッセージを作成できます。
- 導入:
- 1.6
コンストラクターのサマリー
コンストラクター 修飾子 コンストラクター 説明 protected
MessageFactory()
デフォルトコンストラクター。
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract SOAPMessage
createMessage()
デフォルトのSOAPPart
、SOAPEnvelope
、SOAPBody
、SOAPHeader
オブジェクトを使用して新しいSOAPMessage
オブジェクトを作成します。abstract SOAPMessage
createMessage(MimeHeaders headers, InputStreamSE in)
指定されたInputStream
オブジェクトの内容を新しいSOAPMessage
オブジェクトに内部化し、SOAPMessage
オブジェクトを返します。static MessageFactory
newInstance()
デフォルト実装(SOAP 1.1)のインスタンスである新しいMessageFactory
オブジェクトを作成します。static MessageFactory
newInstance(StringSE protocol)
指定された実装のインスタンスである新しいMessageFactory
オブジェクトを作成します。
メソッドの詳細
newInstance
public static MessageFactory newInstance() throws SOAPException
デフォルト実装(SOAP 1.1)のインスタンスである新しいMessageFactory
オブジェクトを作成します。このメソッドは、jakarta.xml.soap
で指定されたルックアップ手順を使用して、MessageFactory
クラスを見つけてロードします。- 戻り値:
MessageFactory
の新しいインスタンス- 例外:
SOAPException
-MessageFactory
のデフォルト実装の作成中にエラーが発生した場合。- 関連事項:
SAAJMetaFactory
newInstance
public static MessageFactory newInstance(StringSE protocol) throws SOAPException
指定された実装のインスタンスである新しいMessageFactory
オブジェクトを作成します。動的メッセージファクトリ、SOAP 1.1 メッセージファクトリ、または SOAP 1.2 メッセージファクトリの場合があります。動的メッセージファクトリは、createMessage
メソッドへの引数として指定された MIME ヘッダーに基づいてメッセージを作成します。このメソッドは、SAAJMetaFactory を使用して実装クラスを見つけ、MessageFactory インスタンスを作成します。- パラメーター:
protocol
- 指定されたメッセージファクトリ実装のクラスを表す文字列定数。DYNAMIC_SOAP_PROTOCOL
、DEFAULT_SOAP_PROTOCOL
(と同じ)SOAP_1_1_PROTOCOL
、SOAP_1_2_PROTOCOL
のいずれかです。- 戻り値:
MessageFactory
の新しいインスタンス- 例外:
SOAPException
-MessageFactory
の指定された実装の作成中にエラーが発生した場合。- 導入:
- 1.6、SAAJ 1.3
- 関連事項:
SAAJMetaFactory
createMessage
public abstract SOAPMessage createMessage() throws SOAPException
デフォルトのSOAPPart
、SOAPEnvelope
、SOAPBody
、SOAPHeader
オブジェクトを使用して新しいSOAPMessage
オブジェクトを作成します。プロファイル固有のメッセージファクトリは、SOAPMessage
オブジェクトにプロファイル固有のヘッダーを事前入力することを選択できます。このメッセージの
SOAPPart
オブジェクトにコンテンツを追加でき、SOAP 部分のみを含むメッセージで十分な場合は、メッセージを「そのまま」送信できます。それ以外の場合、SOAPMessage
オブジェクトは 1 つ以上のAttachmentPart
オブジェクトを作成し、それ自体に追加する必要があります。XML 形式でないコンテンツは、AttachmentPart
オブジェクトに含まれている必要があります。- 戻り値:
- 新しい
SOAPMessage
オブジェクト - 例外:
SOAPException
- SOAP エラーが発生した場合UnsupportedOperationExceptionSE
- このMessageFactory
インスタンスのプロトコルがDYNAMIC_SOAP_PROTOCOL
の場合
createMessage
public abstract SOAPMessage createMessage(MimeHeaders headers, InputStreamSE in) throws IOExceptionSE, SOAPException
指定されたInputStream
オブジェクトの内容を新しいSOAPMessage
オブジェクトに内部化し、SOAPMessage
オブジェクトを返します。- パラメーター:
in
- メッセージのデータを含むInputStream
オブジェクトheaders
- メッセージを作成するためにトランスポートに依存しない方法でメッセージに渡されるトランスポート固有のヘッダー- 戻り値:
- 指定された
InputStream
オブジェクトからのデータを含む新しいSOAPMessage
オブジェクト - 例外:
IOExceptionSE
- 入力ストリームからのデータの読み取りに問題がある場合SOAPException
- メッセージが無効な場合にスローされる可能性がありますIllegalArgumentExceptionSE
-MessageFactory
でheaders
パラメーターに 1 つ以上の MIME ヘッダーが存在する必要があり、それらが欠落している場合。SOAP_1_1_PROTOCOL
またはSOAP_1_2_PROTOCOL
のMessageFactory
実装は、この理由でIllegalArgumentException
をスローしてはなりません。