JavaTM Platform
Standard Ed. 6

javax.xml.soap
クラス MessageFactory

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 オブジェクトを生成します。

場合によっては、SOAPHeader オブジェクトや SOAPBody オブジェクトに、追加のエントリであらかじめ作成されたメッセージを生成する特殊な MessageFactory オブジェクトが含まれていることがあります。新しい SOAPMessage オブジェクトのコンテンツは、作成時に次の 2 つの MessageFactory メソッドのうちどちらが使用されるかによって異なります。


コンストラクタの概要
MessageFactory()
           
 
メソッドの概要
abstract  SOAPMessage createMessage()
          デフォルトのSOAPPartSOAPEnvelopeSOAPBody、およびSOAPHeader オブジェクトを使用して、SOAPMessage オブジェクトを新しく作成します。
abstract  SOAPMessage createMessage(MimeHeaders headers, InputStream in)
          指定の InputStream オブジェクトのコンテンツを新しい SOAPMessage オブジェクトに内部化し、その SOAPMessage オブジェクトを返します。
static MessageFactory newInstance()
          新しい MessageFactory オブジェクトを作成し、デフォルトの実装インスタンスにします (SOAP 1.1)。
static MessageFactory newInstance(String protocol)
          新しい MessageFactory オブジェクトを作成し、指定の実装インスタンスにします(動的なメッセージファクトリ、SOAP 1.1 メッセージファクトリ、またはSOAP 1.2 メッセージファクトリ)。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

MessageFactory

public MessageFactory()
メソッドの詳細

newInstance

public static MessageFactory newInstance()
                                  throws SOAPException
新しい MessageFactory オブジェクトを作成し、デフォルトの実装インスタンスにします (SOAP 1.1)。 このメソッドは次の順序の検索手順で、ロードする 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_PROTOCOLDEFAULT_SOAP_PROTOCOL (SOAP_1_1_PROTOCOL と同じ)、SOAP_1_2_PROTOCOL のいずれかを指定できる
戻り値:
MessageFactory の新しいインスタンス
例外:
SOAPException - 指定の MessageFactory の実装の作成でエラーが発生した場合
導入されたバージョン:
SAAJ 1.3
関連項目:
SAAJMetaFactory

createMessage

public abstract SOAPMessage createMessage()
                                   throws SOAPException
デフォルトのSOAPPartSOAPEnvelopeSOAPBody、およびSOAPHeader オブジェクトを使用して、SOAPMessage オブジェクトを新しく作成します。プロファイル固有のメッセージファクトリは、プロファイル固有のヘッダーを持つ SOAPMessage オブジェクトをあらかじめ作成することを選択できます。

このメッセージの SOAPPart オブジェクトにはコンテンツを追加できます。SOAP 部分のみを含むメッセージが十分足りている場合、メッセージはそのままの状態で送信できます。足りていない場合、SOAPMessage オブジェクトは必要な分 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 - MessageFactoryheaders パラメータに必要な 1 つまたは複数の MIME ヘッダーが存在しない場合。この理由から、SOAP_1_1_PROTOCOL または SOAP_1_2_PROTOCOLMessageFactory 実装では、IllegalArgumentException をスローしてはいけない

JavaTM Platform
Standard Ed. 6

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。