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
のデフォルト実装の作成でエラーが発生した場合。SAAJMetaFactory
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
の実装の作成でエラーが発生した場合。SAAJMetaFactory
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
の場合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, 2014, Oracle and/or its affiliates. All rights reserved.