ページの先頭行へ戻る
Interstage Studio Java EEワークベンチユーザーズガイド

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

Webサービスを呼び出すクライアントを作成するには、サービスエンドポイントインタフェースやサービスインタフェースが必要です。それらの必要なファイルはWSDLから作成することができます。
必要なファイルが揃えば、あとはDependency Injectionを定義するなどしてインタフェースにオブジェクトを対応付けて、インタフェース経由でメソッドを呼び出すことができます。

必要なファイルの作成

サービスエンドポイントインタフェース等は、新規ウィザードから[Webサービス] > [Webサービス(JAX-WS)]を選択し、ウィザードで作成することができます。
作成方法の詳細については、"5.3.5 WSDLからサービスエンドポイントインタフェースを作成する"を参照してください。

インタフェースへのオブジェクトの取得

Dependency Injectionによって簡単にオブジェクトを取得することができます。
Webサービスを呼び出す場合には、以下のように@WebServiceRefアノテーションを使用します。

WebServiceRefアノテーションの使用例

@WebServiceRef(name="service/Calc")
private CalcService service;

記述例

説明

service/Calc

サービスが対応付けられている名前を指定します。

CalcService

サービスインタフェースです。

注意

Dependency Injectionは、サーブレットやEJBなどJava EEコンテナで管理されているJava EEコンポーネントでしか使用することができません。
それ以外のクラスでは、JNDIのlookupによってオブジェクトを取得します。
詳細は、"8.2.2 JNDIのlookupによるオブジェクトの取得について"を参照してください。

Webサービスの呼び出し

Webサービスの呼び出しは、以下のようにサービスエンドポイントインタフェースにオブジェクトを取得し、インタフェース経由でメソッドを呼び出します。

Webサービスの呼び出し例

Calc port = service.getCalcPort();
int result = port.add(100,200);

説明項目

説明

Calc

サービスエンドポイントインタフェースです。

service

サービスインタフェース用のフィールドで、Dependency InjectionまたはJNDIのlookupでオブジェクトを取得したものが設定されています。

port.add(100,200)

サービスエンドポイントインタフェースで公開されているメソッドを呼び出しています。Calcインタフェースでは、addメソッドが公開されています。