NetBeans 6.5 で楽々 JAX-RPC クライアントアプリケーションの作成
前回 Axis を利用した Web サービスアプリケーションの作成について、 Web サービスの公開から、 Web サービスクライアントアプリケーションの作成までを、手作業で行うトピックについて執筆いたしました。
今回は、公開された JAX-RPC ベースの Web サービスへアクセスする為のクライアントアプリケーションを、 NetBeans 向けに用意されている、 JAX-RPC Web Service サポートプラグインを使って、簡単に作成する方法について、執筆いたします。
まずは NetBeans を起動し、「ツール(T)」→「プラグイン(G)」の順にクリックし、プラグインインストールダイアログを開きます。ダイアログが開いたら、「検索(S)」の入力フィールドに "JAX-RPC" と入力してインストールプラグインの絞り込みを行い、 JAX-RPC Web Service をチェックして「インストール(I)」をクリックし、後はインストールウィンドウのガイドに従ってインストールします。
次に Runtime で実行できる Java プロジェクトを作成します。作成したプロジェクトのソースパッケージに、任意のパッケージを作成後、プロジェクトを右クリックして、「新規」→「 Web サービスクライアント」の順にクリックして、クライアント作成ダイアログを開きます。
今回は、プロジェクトからではなく、 WSDL ファイルの URL から生成するので、一旦 NetBeans から離れて作業を進めます。
まずは Tomcat 5.5 を起動し、前回配備したWeb サービスアプリケーションのコンテキストパスへアクセスします。
http://localhost:8081/ContextName/Axis の先頭ページに表示されている「リスト」をクリックした後、公開した Web サービスの WSDL をクリックして WSDL ファイルの URL を控えます。
再び NetBeans に戻り、 Web サービスクライアント作成ダイアログにて、 WSDL URL(U) を選択し、入力フィールドに、先ほど控えた WSDL の URL を入力します。クライアントスタイル(S) のプルダウンメニューから、 "JAX-RPC Style" を選択します。 "JAX-RPC Style" を選択すると、ダイアログの下に、警告メッセージが表示されるので、プロジェクト作成時に作成したパッケージを、プルダウンメニューから選び、「完了」をクリックします。
次に、作成したソースパッケージ配下に新規の Java ファイルを作成し、 public static void main(final String[] args) メソッドを実装します。実装したメソッドのネストにて右クリックし、「Web サービスクライアントのリソース」→「Web サービスオペレーションのよびだし...」の順にクリックします。
WSDL に記載された内容をツリー表示したダイアログを表示します。表示されているツリーの最下位にあるオペレーションをクリックした後、「了解」をクリックします。
すると Web サービスへアクセスする為のクライアントコードが展開されます。展開されたコードは以下のとおり・・・
try { // This code block invokes the SparrowsCafe:purchase operation on web service上記コードを見てお気づきの方、多いのではないかと思います。そうです、サービスを呼び出している部分 "sparrowsCafe.purchase(/* TODO enter operation arguments*/);" 、このままではコンパイルがとおるわけないですね?なのでここのコードを WSDL に記載されている通りのインターフェースに合わせて修正します。パラメーターオーダーは、 sparrowsCafe.purchase(String, int) ですので、それに合わせて以下のように修正します。修正後のコードは以下のとおり・・・
jp.glassfish.sparrow.cafe.client.SparrowsCafeService sparrowsCafeService = new jp.glassfish.sparrow.cafe.client.SparrowsCafeService_Impl();
jp.glassfish.sparrow.cafe.client.SparrowsCafe sparrowsCafe = sparrowsCafeService.getSparrowsCafe();
sparrowsCafe.purchase(/* TODO enter operation arguments*/);
} catch(javax.xml.rpc.ServiceException ex) {
java.util.logging.Logger.getLogger(jp.glassfish.sparrow.cafe.client.SparrowsCafeService.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch(java.rmi.RemoteException ex) {
java.util.logging.Logger.getLogger(jp.glassfish.sparrow.cafe.client.SparrowsCafeService.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
} catch(Exception ex) {
java.util.logging.Logger.getLogger(jp.glassfish.sparrow.cafe.client.SparrowsCafeService.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
}
final String receiveMessage = sparrowsCafe.purchase("blue.mountain", 5);コンパイルが完了したところで早速実行してみます。実行結果については以下のとおり
如何でしたでしょうか? かなり楽に作業を進められましたね。 Web サービスクライアントの作成って、結構しんどい作業だったりするわけですが、 NetBeans に用意されているこうした様々なプラグインを利用することで、その開発プロセスをシンプルなものにすることが、これでお分かり頂けるかと思います。特に WSDL2Java を実行した後生成された複数のクライアントリソースなど、どれとどれを使ってどのように実装して行くかと言うことで、結構悩んだりもされるのではないかと思うのですが、今回のように、手順が確率されていると、誰でも同じ道を通って進めて行けば、同じ結果を得ることができると言ったメリットもありますね。
皆さんの今後の開発作業を楽にするものとして、すごくお勧めです (*`д´)b goo♪
| サン・マイクロシステムズ イベント情報 | サン・マイクロシステムズ キャンペーン情報 |
Comments
Pingback from jacksparrow » Axis 1.2.1 を利用した Web サービスアプリケーションを GlassFish v2.1 にデプロイして見た
Date: 2009 年 5 月 11 日, 11:40 PM
[...] 前回は、 NetBeans で JAX-RPC クライアントアプリケーションの作成について投稿しました。今回はその時使用した、 JAX-RPC ベースの Axis 1.2.1 を利用した Web サービスアプリケーションを、 Gl [...]



Write a comment