NetBeans 6.5 で楽々 JAX-RPC クライアントアプリケーションの作成

10 5 月, 2009 (23:26) | OpenSource, Java

前回 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
  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);
}
上記コードを見てお気づきの方、多いのではないかと思います。そうです、サービスを呼び出している部分 "sparrowsCafe.purchase(/* TODO enter operation arguments*/);" 、このままではコンパイルがとおるわけないですね?なのでここのコードを WSDL に記載されている通りのインターフェースに合わせて修正します。パラメーターオーダーは、 sparrowsCafe.purchase(String, int) ですので、それに合わせて以下のように修正します。修正後のコードは以下のとおり・・・
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





*
画像に書かれた文字を入力してください

スパム対策用画像
ログインすると画像認証なしで投稿できます

ホットワード NetBeans クライアント アプリケーション 作成 前回
割引クーポンまとめ情報 - クー割