Interstage Application Server SOAPサービス ユーザーズガイド
目次 索引 前ページ次ページ

第7章 送達保証機能の実装> 7.3 クライアントシステムがメッセージを受け取るPULLモデル> 7.3.3 PULLモデル受信クライアントの受信アプリケーション作成

7.3.3.2 受信アプリケーションの準備

 受信アプリケーションは、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を参照してください。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2005