hello_world_asyncサンプルを試す
はじめに
本連載はCeltix 1.0に用意されているサンプルデモのREADME.txtファイルを日本語訳したものです。README.txtファイルにはWindowsとUNIXにおける作業手順が記載されています。
今回はサンプル6「hello_world_async」デモについて解説します。
連載ではWindowsについてのみ確認を行い、足りない手順についての内容を追加しています。UNIXを利用する場合には、Windowsの手順を参照してください。
サンプル6 hello_world_asyncのデモ
「hello_world_async」はサンプル5「hellow_world」に引き続き、Document/Literal型を使った場合のHello Worldのデモです。
このデモでは、JAX-WSの非同期呼び出しモデルの使い方を示しています。JAX-WS 2.0の仕様については次のURLをご参照ください。
JAX-WSの非同期モデルでは、リクエスト/レスポンス呼び出しを行っても応答を待つことなくスレッドを利用できます。応答が返ってきた場合、クライアントアプリケーションは次の2つの方法を使って非同期で応答します。このデモは両方の方法をテストできます。
さらに、「サービス・エンドポイント・インタフェース(SEI)」で、Asyncサフィックスの付いた非同期インタフェースを生成します。
多くのアプリケーションでは不要なインタフェースで混乱しないために、SEI方式での非同期通信は使われないように設定されています。SEIを使っ たコード生成を行うためには、バインディングファイル「wsdl/async_bindings.xml」をwsdl2javaコマンドで参照します。
必要条件
celtix.jarがCLASSPATHに登録されていて、JDKとantのbinディレクトリがPATHに登録されているのであれば、samplesディレクトリのREADMEにある環境変数の設定スクリプトを起動する必要はありません。
環境変数が正しく設定されていなかったり、デモをビルドする際ににwsdl2java、javacあるいはjavaコマンドを利用する場合は、環境変数の設定スクリプトを起動する必要があります。
antを使ったビルドと起動
samples/hello_world_asyncディレクトリからant buildスクリプトによってビルドし、デモを実行します。
UNIXとWindows共にビルドを行った後でサーバを起動します。
ant build
ant server
さらに別のコマンドプロンプトからクライアントを起動します。
ant client
WSDLファイルやクラスファイルから生成したコードを削除するには、次のコマンドを実行します。
ant clean