WebSphere Application Server, Version 6.1   
             オペレーティング・システム: AIX , HP-UX, Linux, Solaris, Windows, Windows Vista

             目次と検索結果のパーソナライズ化

SAAJ (SOAP with Attachments API for Java) インターフェース

SOAP with Attachments API for Java (SAAJ) インターフェースは、インターネットを介して XML 文書を Java プログラミング・モデルから送信する標準的な方法を提供している SOAP メッセージングに使用します。 SAAJ を使用して、適切なコンテキストへの SOAP メッセージを、そのメッセージがランタイム環境を全探索する際に操作します。

Java API for XML-Based RPC (JAX-RPC) プログラミング・モデルは XML を操作するための SAAJ 1.2 をサポートしています。

Web サービスでのメッセージの使用方法

Web サービスは XML テクノロジーを使用してメッセージを交換します。これらのメッセージは XML スキーマに準拠しています。Web サービス・アプリケーションを開発する場合は、操作できる XML API が限定されます (例えば、Document Object Model (DOM))。Java オブジェクトを操作して実行時にシリアライゼーションおよびデシリアライゼーションを完了させる方がより効率的です。

Web サービスは SOAP メッセージを使用して、 クライアントとサーバー間のリモート・プロシージャー・コールを表します。 一般に、SOAP メッセージは、パラメーターおよび戻り値を表す一連の Java 値タイプのビジネス・オブジェクトにデシリアライズされます。 さらに、Java プログラミング・モデルは、アプリケーションとハンドラーをサポートして SOAP メッセージを直接操作する API を提供します。 プログラミング・モデルによりサポートされる XML スキーマ・タイプの数には制限があるため、仕様ではメッセージを操作するための拡張機能として SAAJ データ・モデルを提供しています。

XML スキーマ・タイプを操作するには、カスタム・データ・バインダー を使用して、 XML スキーマ・タイプを Java タイプにマップする必要があります。

SAAJ インターフェース

SAAJ 関連のクラスは javax.xml.soap パッケージにあります。SAAJ は各種インターフェースおよび抽象クラスでビルドされ、クラスの多くはファクトリー・メソッドを呼び出すことによって開始され、SOAPConnectionFactory や SOAPFactory などのファクトリーを作成します。

最もよく使用されるクラスを以下に示します。
SAAJ インターフェースの他の部分には以下があります。

SAAJ モデルの基本インターフェースは、javax.xml.soap.SOAPElement (SOAPElement とも呼ばれます) です。 このモデルを使用すると、アプリケーションは、 既存の DOM コードを使用する SAAJ モデルを処理できます。 既存の DOM オブジェクトを SAAJ オブジェクトに変換することも容易です。

SAAJ インターフェースを使用して作成されたメッセージは、SOAP 標準に従います。SOAP メッセージは、 SAAJ モデルでは javax.xml.soap.SOAPMessage オブジェクトとして表されます。 メッセージの XML コンテンツは、 javax.xml.soap.SOAPPart オブジェクトによって表されます。 各 SOAP パーツには、SOAP エンベロープが 1 つあります。 このエンベロープは、 SAAJ javax.xml.SOAPEnvelope オブジェクトによって表されます。 SOAP 仕様は SOAP エンベロープ内にある各種のエレメントを定義し、 SAAJ は SOAP エンベロープ内の各種のエレメント用のオブジェクトを定義します。

SOAP メッセージはまた、添付ファイルと呼ばれる非 XML データを含むこともできます。 これらの添付ファイルは、 SOAPMessage オブジェクトからアクセスできる SAAJ AttachmentPart オブジェクトによって表されます。

ハンドラーおよびアプリケーションが、 しっかりとバインドされたマッピングの代わりに、 汎用 SOAPElement API を使用する理由は次のようにいくつかあります。

SOAPElement インターフェースが常にレガシー・システムの最良の代替インターフェースであるとは限らないため、 XML スキーマ・タイプをマップするために、その他のステップが必要になる場合があります。 そのような際には、データ中心のアプリケーションに、より適している、SDO などの汎用プログラミング・モデルを使用することもあります。

XML スキーマは、SDO またはデータ・オブジェクトを Java オブジェクトと対にする、カスタム・データ・バインディングを含むように構成できます。 例えば、ランタイムは着信 SOAP メッセージを SOAPElement インターフェースにレンダリングし、それをカスタム・データ・バインダーに渡してさらに処理します。 着信メッセージに SDO が含まれる場合、ランタイムはデータ・オブジェクト・コードを認識し、 そのタイプのマッピングを照会してカスタム・バインダーを探し、SDO コードを表す SOAPElement インターフェースをビルドします。 SOAPElement は SDOCustomBinder に渡されます。

SOAPElement、SDO、およびカスタム・バインダーを使用したアプリケーション開発のプロセスについて詳しくは、カスタム・データ・バインダーを参照してください。

SAAJ を含む、API の完全なリストについては、仕様および API 資料 を参照してください。




関連概念
SOAP
概念トピック    

ご利用条件 | フィードバック

最終更新: Jan 21, 2008 5:05:53 PM EST
http://publib.boulder.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=/com.ibm.websphere.base.doc/info/aes/ae/cwbs_saaj.html