Hitachi

Cosminexus V11 アプリケーションサーバ SOAPアプリケーション開発の手引


2.1.2 メッセージング形態のSOAPアプリケーション

メッセージング形態のSOAPアプリケーションでは,クライアントとサーバ間で任意のXMLデータをSOAPメッセージとして送受信します。メッセージングでは,SOAPメッセージを直接処理するため,XML形式で表す複雑なメッセージを扱うことができます。

メッセージング形態のSOAPアプリケーションは,SAAJを利用して開発できます。なお,メッセージング形態のSOAPアプリケーションでは,WSDLは使用しません。

SAAJでは,メッセージ送信クラスを提供し,クライアントとサーバ間のインタフェースに関する処理を隠蔽するようにしています。

SAAJを利用したSOAPアプリケーションを実現するには,クライアント側にメッセージ生成処理を,サーバ側にSOAPサービスを実装します。メッセージ生成処理は,SAAJを使用して,ユーザが開発する必要があります。使用するAPIについては,「12.3 SAAJ 1.2との対応」を参照してください。次に,SAAJを使用したメッセージングによるSOAPアプリケーションの処理の流れを示します。

図2‒5 メッセージング形態のSOAPアプリケーションの処理の流れ(SAAJ)

[図データ]

図に沿って,SAAJを利用したSOAPアプリケーションの処理を説明します。図中に示した番号が次に示す番号に対応しています。

  1. メッセージ生成処理では,送信先と送信するメッセージを,提供するAPIに渡します。送信するメッセージはユーザがSAAJのAPIを利用して作成する必要があります。

  2. SOAPクライアントライブラリ(SAAJ)は,APIで指定されたメッセージを含んだSOAPメッセージを作成し,送信先にメッセージを送信します。

  3. メッセージを受信したSOAPエンジン(SAAJ)は,ユーザ指定部分を解析して取り出し,SOAPサービスを呼び出します。SOAPサービスを実装するメソッドは,あらかじめ登録しておく必要があります。

  4. SOAPサービスはメッセージの内容を解析し,処理をします。また,必要があればレスポンスメッセージを作成し,SOAPエンジンに返します。

  5. レスポンスメッセージを受け取った場合,SOAPエンジン(SAAJ)はSOAPサービスを実装するメソッドが返したメッセージをクライアントに返信します。

  6. SOAPクライアントライブラリ(SAAJ)は,受信したSOAPメッセージの中からユーザ指定部分を解析して取り出し,メッセージを返します。

SAAJを利用したSOAPアプリケーションの開発例については,「6. メッセージング形態のSOAPアプリケーションの開発例」を参照してください。