Interstage Application Server SOAPサービス ユーザーズガイド |
目次
索引
![]() ![]() |
第11章 サンプルプログラム | > 11.5 Messaging方式のサンプルプログラム |
各ファイルの役割は以下のとおりです。
ファイル名 |
説明 |
---|---|
pushConfig.xml |
送達保証PUSHモデルの送信クライアントシステム用設定ファイル。本サンプルではしらばくれを防止する署名オプションは使用していません。 |
pullConfig.xml |
送達保証PULLモデルの受信クライアント用設定ファイル。 |
issoapsecconf.xml |
送達保証PUSHモデルの受信サーバ、およびPULLモデルの送信サーバ用設定ファイル。 |
TestServer.java |
サーバシステム上で実行される、PUSHモデル受信サーバの受信アプリケーション、およびPULLモデル送信サーバの送信アプリケーションを記述したサンプルソースプログラム。 |
TestPushClient.java |
PUSHモデルの送信クライアントで実行される、送信アプリケーションを記述したサンプルソースプログラム。 |
TestPullClient.java |
PULLモデルの受信クライアントで実行される、受信アプリケーションを記述したサンプルソースプログラム。 |
startpush.bat |
PUSHモデル送信クライアントの送信アプリケーションを起動するスクリプトファイルです。 |
startpull.bat |
PULLモデル受信クライアントの受信アプリケーションが呼び出されるように、送達保証機能の起動を行なうスクリプトファイルです。 |
DD-push.wsdd |
PUSHモデルの受信サーバのWebサービス情報を記述したファイルです。 |
DD-pull.wsdd |
PULLモデルの送信サーバのWebサービス情報を記述したファイルです。 |
deployserver.bat |
上記2つの定義ファイルを、サーバシステムにディプロイメントするためのスクリプトファイルです。 |
PULLモデルの受信アプリケーションが動作するクライアントシステムを用意しており、サーバシステムでは、PUSHモデル受信サーバの受信アプリケーションから、PULLモデル送信サーバの送信アプリケーションを実行する処理を行ないます。本サンプルは、これらの処理により、PUSHモデルの送信クライアントからPULLモデルの受信クライアントへの間接的な送達保証通信を行なうサンプルになっています。
PUSHモデルで送信するメッセージの種別は"pushTest"、PULLモデルで送信するメッセージの種別は"pullTest"です。
PUSHモデルの送信クライアントのIDは"pushClient1"、PULLモデルの受信クライアントのIDは"pullClient1"、PUSHモデルの受信サーバID、およびPULLモデルの送信サーバIDは"reliableServer1"となっています。
送信するSOAPメッセージは、空タグ1つをボディに持つ単純なものです。
また本サンプルは実行を簡単にするため、デフォルトで2つのクライアント機能と1つのサーバ機能が同一マシン上で動作することを想定しています。
以下が、クライアント機能とサーバ機能の構成図になります。
サンプルReliableを実行すると、まずPUSHモデルの送信アプリケーションを持つクライアントシステム(TestPushClientクラス)からサーバシステム(TestServerクラス)に送達保証メッセージ"pushTest"が送信されます。
サーバシステム(TestServerクラス)では、PUSHモデルのメッセージの受信により受信アプリケーションが起動し、PULLモデルの受信アプリケーションを持つクライアントシステム(TestPullClientクラス)に向けて、送達保証メッセージ"pullTest"を送信します。
PULLモデルの受信アプリケーションを持つクライアントシステム(TestPullClientクラス)では、送達保証機能が起動した時点から、PULLモデルの送信サーバに対してメッセージのポーリングが開始され、PULLモデルの送信サーバ(TestServerクラス)からPULLモデルの受信クライアント(TestPullClientクラス)に送達保証メッセージ"pullTest" が送信されます。PULLモデルの受信クライアント(TestPullClientクラス)では、PULLモデルのメッセージ受信により、受信アプリケーションが起動します。
以下の手順により実行準備を行ないます。
(1)以下のディレクトリに移動します。
(2)サンプルプログラムをコンパイルします。
javac TestServer.java
javac TestPushClient.java
javac TestPullClient.java
コンパイルに失敗する場合は、Interstage SOAPサービスが正しくインストールされていない可能性があります。詳細については、インストールガイドを参照してださい。
(3)Webサービス・コンテナ(Servletサービス)を停止します。
(4)送達保証機能のPUSHモデル受信サーバ、およびPULLモデル送信サーバの設定ファイルをコピーします。既に高信頼性Webサービス機能用の設定ファイルを作成済みの場合は、issoapsecconf.xml をバックアップしてください。
(5)Servletサービスのコンテナ監視プロセスの環境設定ファイル(jswatch.conf)の環境変数CLASSPATHに、(1)のディレクトリを追加します。
(6)Webサービス・コンテナ(Servletサービス)を起動します。
(7)以下のスクリプトを実行し、PUSHモデル受信サーバ、PULLモデル送信サーバの登録を行ないます。
以上の手順により、サンプルの実行準備が終了します。
(1)PUSHモデル送達保証メッセージの送信
まず、Interstage SOAPサーバの起動しているマシン上で、以下のスクリプトを実行します。
これにより、PUSHモデル送信クライアントの"pushClient1"が起動し、送信アプリケーションが実行されます。送信アプリケーションは、メッセージ種別"pushTest"のメッセージを、PUSHモデル受信サーバ "reliableServer1" に向けて送信します。
PUSHモデル受信サーバの "reliableServer1" では、PUSHモデル送信クライアント "pushClient1" からのメッセージを受信し、"pushTest" メッセージの受信アプリケーションが実行されます。受信アプリケーションからは、送信アプリケーションが実行され、メッセージ種別 "pullTest" のメッセージを、PULLモデル受信クライアント "pullClient1" に向けて送信します。
スクリプトを実行すると以下の内容が出力表示されます。
Sent a message: com.fujitsu.interstage.soapx.reliable.SOAPReliableMessage@・・・
(2) PULLモデル送達保証メッセージの受信
次に、Interstage SOAPサーバの起動しているマシン上で、以下のスクリプトを実行します。
これにより、PULL受信クライアント"pullClient1"から、PULL送信サーバ "reliableServer1"に向けてポーリングが開始され、PULLモデル受信サーバ"reliableServer1"の送信アプリケーションが作成した送達保証メッセージが、PULL受信クライアント"pullClient1"に送信されます。PULLモデル受信クライアント上では、"pullTest"メッセージの受信アプリケーションが実行されます。
スクリプトを実行すると以下の内容が出力表示されます。
Receive a message: com.fujitsu.interstage.soapx.reliable.SOAPReliableMessage@・・・
本サンプルでは、実行を簡単にするため、クライアントシステム、サーバシステムが共に1つのマシン上で動作するような設定となっていますが、各クライアントシステムとサーバシステムを異なるマシンで動作させたい場合、各クライアントの設定ファイルの変更が必要です。この際、PUSHモデル送信クライアントを配置するシステム上での設定は以下のようにsoapsecrelconfコマンドを実行して変更します。
soapsecrelconf -add to -f pushConfig.xml -messageid pushTest -serviceid ReliableSamplePushService |
また、PULLモデル受信クライアントを配置するシステム上での設定は以下のようにsoapsecrelconfコマンドを実行して変更します。
soapsecrelconf -add from -f pullConfig.xml -messageid pullTest -serviceid ReliableSamplePullService |
どちらのクライアントでも、"servername" の部分には接続先のサーバシステム名を入れてください。
本サンプルの終了は、Ctrl+C等でスクリプトを手動で終了してください。
本サンプル実行後、以下のディレクトリに送達保証のメッセージがファイルで保管されます。
目次
索引
![]() ![]() |