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オブジェクトのヘッダーを持つメッセージ| コンストラクタ | 説明 |
|---|---|
MessageFactory() |
| 修飾子と型 | メソッド | 説明 |
|---|---|---|
abstract SOAPMessage |
createMessage() |
デフォルトの
SOAPPart、SOAPEnvelope、SOAPBody、およびSOAPHeaderオブジェクトを使用して、SOAPMessageオブジェクトを新しく作成します。 |
abstract SOAPMessage |
createMessage(MimeHeaders headers, InputStream in) |
指定された
InputStreamオブジェクトの内容を新しいSOAPMessageオブジェクトに内部化し、そのSOAPMessageオブジェクトを返します。 |
static MessageFactory |
newInstance() |
デフォルトの実装(SOAP 1.1)のインスタンスである、新しい
MessageFactoryオブジェクトを作成します。このメソッドは次の順序の検索手順で、ロードするMessageFactory実装クラスを決定します。javax.xml.soap.MessageFactoryシステム・プロパティを使用します。 |
static MessageFactory |
newInstance(String protocol) |
指定された実装のインスタンスである、新しい
MessageFactoryオブジェクトを作成します。 |
public static MessageFactory newInstance() throws SOAPException
MessageFactoryオブジェクトを作成します。このメソッドは次の順序の検索手順で、ロードするMessageFactory実装クラスを決定します。
MessageFactoryの新しいインスタンスSOAPException - MessageFactoryのデフォルト実装の作成でエラーが発生した場合。SAAJMetaFactorypublic 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の実装の作成でエラーが発生した場合。SAAJMetaFactorypublic 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の場合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をスローしてはいけない。 バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。 そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Documentation Redistribution Policyも参照してください。