パッケージ 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
コンストラクターの概要
コンストラクター 修飾子 コンストラクター 説明 protectedMessageFactory()デフォルトコンストラクター。
メソッドのサマリー
すべてのメソッド 静的メソッド インスタンスメソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract SOAPMessagecreateMessage()デフォルトのSOAPPart、SOAPEnvelope、SOAPBody、SOAPHeaderオブジェクトを使用して新しいSOAPMessageオブジェクトを作成します。abstract SOAPMessagecreateMessage(MimeHeaders headers, InputStreamSE in)指定されたInputStreamオブジェクトの内容を新しいSOAPMessageオブジェクトに内部化し、SOAPMessageオブジェクトを返します。static MessageFactorynewInstance()デフォルト実装(SOAP 1.1)のインスタンスである新しいMessageFactoryオブジェクトを作成します。static MessageFactorynewInstance(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をスローしてはなりません。