- java.lang.Object
-
- javax.xml.soap.MessageFactory
-
public abstract class MessageFactory extends Object
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
-
-
コンストラクタのサマリー
コンストラクタ コンストラクタ 説明 MessageFactory()
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 抽象メソッド 具象メソッド 修飾子と型 メソッド 説明 abstract SOAPMessagecreateMessage()デフォルトのSOAPPart、SOAPEnvelope、SOAPBody、およびSOAPHeaderオブジェクトを使用して、SOAPMessageオブジェクトを新しく作成します。abstract SOAPMessagecreateMessage(MimeHeaders headers, InputStream in)指定されたInputStreamオブジェクトの内容を新しいSOAPMessageオブジェクトに内部化し、そのSOAPMessageオブジェクトを返します。static MessageFactorynewInstance()デフォルトの実装(SOAP 1.1)のインスタンスである新しいMessageFactoryオブジェクトを作成します。static MessageFactorynewInstance(String protocol)指定された実装のインスタンスである、新しいMessageFactoryオブジェクトを作成します。
-
-
-
メソッドの詳細
-
newInstance
public static MessageFactory newInstance() throws SOAPException
デフォルトの実装(SOAP 1.1)のインスタンスである新しいMessageFactoryオブジェクトを作成します。 このメソッドは、javax.xml.soapで指定された参照プロシージャを使用して、MessageFactoryクラスを検索してロードします。- 戻り値:
MessageFactoryの新しいインスタンス- 例外:
SOAPException-MessageFactoryのデフォルト実装の作成でエラーが発生した場合。- 関連項目:
SAAJMetaFactory
-
newInstance
public static MessageFactory newInstance(String 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エラーが発生した場合UnsupportedOperationException- このMessageFactoryインスタンスのプロトコルがDYNAMIC_SOAP_PROTOCOLの場合
-
createMessage
public abstract SOAPMessage createMessage(MimeHeaders headers, InputStream in) throws IOException, SOAPException
指定されたInputStreamオブジェクトの内容を新しいSOAPMessageオブジェクトに内部化し、そのSOAPMessageオブジェクトを返します。- パラメータ:
in- メッセージのデータを含むInputStreamオブジェクトheaders- メッセージ作成時にトランスポートに依存しない形式でメッセージに渡されるトランスポート固有のヘッダー- 戻り値:
- 指定の
InputStreamオブジェクトのデータを含む新しいSOAPMessageオブジェクト - 例外:
IOException- 入力ストリームからのデータの読込みに問題が発生した場合SOAPException- メッセージが無効の場合、スローされるIllegalArgumentException-MessageFactoryのheadersパラメータに必要な1つ以上のMIMEヘッダーが存在しない場合。 この理由から、SOAP_1_1_PROTOCOLまたはSOAP_1_2_PROTOCOLのMessageFactory実装では、IllegalArgumentExceptionをスローしてはいけない。
-
-