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アプリケーションの処理の流れを示します。
図に沿って,SAAJを利用したSOAPアプリケーションの処理を説明します。図中に示した番号が次に示す番号に対応しています。
-
メッセージ生成処理では,送信先と送信するメッセージを,提供するAPIに渡します。送信するメッセージはユーザがSAAJのAPIを利用して作成する必要があります。
-
SOAPクライアントライブラリ(SAAJ)は,APIで指定されたメッセージを含んだSOAPメッセージを作成し,送信先にメッセージを送信します。
-
メッセージを受信したSOAPエンジン(SAAJ)は,ユーザ指定部分を解析して取り出し,SOAPサービスを呼び出します。SOAPサービスを実装するメソッドは,あらかじめ登録しておく必要があります。
-
SOAPサービスはメッセージの内容を解析し,処理をします。また,必要があればレスポンスメッセージを作成し,SOAPエンジンに返します。
-
レスポンスメッセージを受け取った場合,SOAPエンジン(SAAJ)はSOAPサービスを実装するメソッドが返したメッセージをクライアントに返信します。
-
SOAPクライアントライブラリ(SAAJ)は,受信したSOAPメッセージの中からユーザ指定部分を解析して取り出し,メッセージを返します。
SAAJを利用したSOAPアプリケーションの開発例については,「6. メッセージング形態のSOAPアプリケーションの開発例」を参照してください。