Interstage Application Server SOAPサービス ユーザーズガイド |
目次 索引 |
第7章 送達保証機能の実装 | > 7.3 クライアントシステムがメッセージを受け取るPULLモデル | > 7.3.3 PULLモデル受信クライアントの受信アプリケーション作成 |
受信アプリケーションは、JAXM APIのOnewayListenerインタフェースを実装したJavaのクラスとして用意します(JAXM APIのReqRespListenerインタフェースは使用できません)。
以下が受信アプリケーションの実装例です。
//受信アプリケーション処理部 public class ReliableSampleServer implements OnewayListener { public void onMessage(SOAPMessage message) { SOAPEnvelope env = message.getSOAPPart().getEnvelope(); : } } |
OnewayListenerインタフェースの実装方法の詳細は、“受信アプリケーションの作成”を、SOAPMessageクラスの構造については、“SAAJ-APIによるSOAPMessageの処理”を参照してください。
受信アプリケーションは、PULLモデルの受信クライアントがSOAPメッセージを受信し、受信確認が行なわれた後で呼び出されます。
SOAPメッセージが受信されても、署名が間違っているなどSOAPメッセージが不正だった場合、この受信アプリケーションは呼び出されません。その場合は、“Webサービス・コンテナのカスタマイズ”の“クライアント機能のログ”で指定したログファイルに、SOAPメッセージの受信に失敗した旨のログが出力されます。
Interstage SOAPサービスのサーバパッケージをインストールしている場合は、送達保証メッセージの受信に失敗すると、システムのログにエラーメッセージが出力されます。
メッセージ種別や送信サーバIDなど、送達保証機能特有の情報は、以下のように取得したSOAPメッセージをSOAPReliableMessageクラスにキャストすることで取得可能となります。
: //受信情報の取り出し SOAPReliableMessage relMessage = (SOAPReliableMessage)message; String messageType = relMessage.getMessageType(); : |
取得可能な情報については、付属のJavaDOCのSOAPReliableMessageクラスを参照してください。
また、PULLモデルの受信アプリケーションを配置するクライアントシステム上では、送達保証機能の起動を行う必要があります。以下に送達保証機能を起動するSOAPReliableクラスの初期化メソッドの記述例を示します。
//受信アプリケーションの実装 public static void main(String[] args) { //送達保証起動用のSOAPReliableクラスの初期化メソッドの呼び出し SOAPReliable.init(); : } |
送達保証機能を起動するメソッドは、どのようなタイミングで、何度呼び出しても問題ありません。また受信アプリケーションとは異なるJavaクラス上に記述しても問題ありません。必ず、1つ以上のプロセス上で、送達保証機能を起動するSOAPReliableクラスの初期化メソッドを呼び出してください。
送達保証機能を起動するメソッドの詳細については、付属のJavaDOCを参照してください。
目次 索引 |