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, 2013, Oracle and/or its affiliates. All rights reserved.