AdvancedTimer.jws サンプル
非同期がサポートされていない、模擬レガシー システム(LegacySystem.jws)に対する非同期インタフェースを示す Web サービスです。レガシー システムに対して「ポーリング(繰り返し呼び出して処理されたかどうかを調べる)」を行うことで非同期を実現します。AdvancedTimer はクライアントに対してポーリングを行い、レガシー システムが応答した場合にクライアント コールバックを呼び出します。
タイマー コントロールの使用
サービス コントロールの使用
クライアント コールバックの宣言と使用
JwsContext インタフェースの使用
会話の使用
ポーリング
このサンプルは、samples WebLogic Workshop プロジェクトの timer フォルダにあります。ファイル システムでの場所は次のとおりです。
BEA_HOME\weblogic700\samples\workshop\applications\samples\timer\AdvancedTimer.jws
この Web サービスを実行するには
適切なドメインにある WebLogic Server を起動します。
Microsoft Windows システムでは、[スタート] メニューから次のように選択します。
[BEA WebLogic Platform 7.0|WebLogic Workshop|WebLogic Workshop Examples|Start Examples Server]
Linux システムまたは Solaris システムでは、次のスクリプトを実行します。
BEA_HOME/weblogic700/samples/workshop/startWebLogic.sh
WebLogic Workshop でサービスを開いて [開始] を選択するか、またはブラウザのアドレス バーに「http://localhost:7001/samples/timer/AdvancedTimer.jws」と入力して、サービスを起動します。適切なドメインにある WebLogic Server がこのマシン上で実行されている場合は、ここをクリックしてサンプルを実行することもできます。
必要な場合は、テスト ビューの [Test Form] タブに移動します。
start メソッドを呼び出して、新しい会話インスタンスを作成し、模擬レガシー システム上で処理を呼び出します。
レガシー システムで処理が完了したら、AdvancedTimer はクライアント上で onDone コールバックを呼び出します。レガシー システムで処理が 15 秒以内に完了しない場合でも、AdvancedTimer は onDone コールバックを呼び出しますが、この指示は失敗します。
callback.onDone コールバック エントリが [Message Log] に表示されるまで、定期的にブラウザを更新します。
[Message Log] でログ エントリを選択して、各会話に関連したメッセージ トラフィックを確認します。
タイマー コントロール : Web サービスでタイマーを使用する