今回は NetBeans 5.5 で JAX-WS Web サービスを非同期に呼ぶプログラムを作ってみます。Web サービスに関しては小林さんが NetBeans 日本語サイトに 寄稿してくださった「Web サービスチュートリアル」がとてもわかりやすいです。ここでも Web サービス、Web サービスクライアントを作るまではその手順で行っています。

今回も NetBeans 5.5 リリース候補ビルド + 日 本語ファイル でやってみます。

1. Web サービスを作成する
Web アプリケーションプロジェクトを作ってそこに「Web サービス」を作成します。ここでは例えば英語を渡して日本語を返すオペレーションと中国語を返すオペレーション、getJapanese() と getChinese() を作ることにします。

2. Web サービスを配備する

Web サービスを作成したらアプリケーションサーバーに配備します。ここでは NetBeans にあらかじめバンドルされている Tomcat で行いました。

3. Web サービスクライアントを作成する

Web サービスを配備できたら Java アプリケーションプロジェクトを作成し、「Web サービスクライアント」を作成します。ウィザードでは JAX バージョンは JAX-WS を選んでください。

プ ロジェクトウィンドウは下のようになります。Web サービスを提供する WebApplication プロジェクトの「Web サービス」ノードには getJapanese()、getChinese() が表示されます。これを使う側の JavaApplication プロジェクトでは「Web サービス参照」ノードの下にそれらのオペレーションが表示されています。



これで Web サービスが利用できるようになったわけですが、Web サービスを変更して「非同期」で呼べるようにしてみます。

4. Web サービスの属性を変更する

JavaApplication プロジェクトの「Web サービス参照」の Web サービスノードでマウスの右ボタンをクリックしメニューを開きます。そこから「Web サービス属性を編集」を選びます。カスタマイズダイアログが表示されます。



5. 非同期クライアントを有効にする

カスタマイズダイアログ上で「ポートタイプオペレーション」で getJapanese() だけ「非同期クライアントを有効にする」をチェックして「了解」ボタンを押します。Web サービスクライアント側の Java コードが再生成されます。



新しく「getJapanese [非同期ポーリング] 」と「getJapanese [非同期コールバック]」 というオペレーションが追加されます。ポールする方法と、コールバックハンドラを使う方法2種類あります。




6. Web サービスを呼び出すコードを挿入する

コードを生成するのもとても簡単です。このノードをエディ タ上にドラッグ&ドロップするだけです

非同期の Web サービス呼び出しについてはチュートリアルがありこのあたりのことが書いてあります。まだ残念ながら日本語ではないのですがおもしろいです。
また以下の日本語のドキュメントも参考になります。
Comments:

Post a Comment:
Comments are closed for this entry.

This blog copyright 2009 by katakai