Web サービス・クライアント・ウィザードを使用すると、Java™
Bean プロキシーおよびサンプル・アプリケーションを簡単に生成できます。プロキシー・ファイルのコーディング方法を示すサンプル Web アプリケーションです。
始める前に
前提条件:
- ご使用のコンピューターの速度によっては WebSphere® Application Server が開始するまでに数分かかることがあるため、WebSphere Application Server を使用している場合は、Web サービス・ウィザードを実行する前にサーバーを開始しておくことを強くお勧めします。サーバーを開始するには、「サーバー」ビューでサーバーを選択し (「ウィンドウ」>「ビューの表示」>「サーバー」)、右クリックして「開始」を選択します。
- WSDL 文書をディスカバーするか、ワークスペースにインポートします。使用できる WSDL ファイルは、サービス要素を含むものです。ワークスペースにある静的 WSDL ファイル、または URL にある WSDL ファイルを使用するか、あるいは、JAX-WS Web サービスとして機能する注釈付き Bean がワークスペース内にある場合は、WebSphere Application
Server Feature Pack for Web Services ランタイムによって動的に作成された WSDL ファイルを使用することができます。この WSDL は、http://localhost:port/service_project_name/service_nameService?wsdl という URL にあります。例えば、Feature Pack for Web Services に付属しているチュートリアルおよびサンプルで作成されるアドレス帳 JAX-WS Web サービスの場合、動的 WSDL ファイルは、http://localhost:9082/jwsAddressBook/AddressBookService?wsdl という URL にあります。
制約事項: 単純な Java Web サービス・クライアントを Java Platform, Enterprise Edition (J2EE) コンテナーの外部で実行する場合、その Web サービス・クライアントを単純な Java プロジェクト内に生成する必要があります。Web サービス・ウィザードでは単純な Java プロジェクトを作成できません。最も近い形のものとしてユーティリティー・プロジェクトがありますが、ユーティリティー・プロジェクトからの単純な Java Web サービス・クライアント (コンテナーなし)
の実行はサポートされていません。Web サービス・クライアント・ウィザードを実行する前に単純な Java プロジェクトを作成する必要があります。
このタスクについて
ディスカバーした WSDL 文書から Java クライアント・プロキシーおよびサンプル・アプリケーションを生成するには、次の手順を実行します。
手順
- Java EE パースペクティブに切り替えます (「ウィンドウ」>「パースペクティブを開く」>「Java EE」)。
- 「ファイル」>「新規」>「その他」の順にクリックします。「Web サービス」を選択して、各種の Web サービス・ウィザードを表示します。「Web サービス・クライアント」ウィザードを選択します。「次へ」をクリックします。
- 「Web サービス」ページ: クライアントを生成するために使用する WSDL ファイルを選択します。次の操作を実行するオプションもあります。
- スライダーを使用して完了させたい Web サービス・クライアント開発のステージを選択します。これにより、残りのウィザードのパネルでいくつかのデフォルト値が設定されます。
- 開発: Web サービス・クライアントの WSDL 定義および実装を開発します。これには、生成されたコード、WSDL ファイル、デプロイメント記述子、および Java ファイル (該当する場合) が入るモジュールの作成などのタスクが含まれます。
- アセンブル: Web サービス・クライアントをホストするプロジェクトが、ターゲット・アプリケーション・サーバーによって要求されたときに EAR に関連付けられるようになります。
- デプロイ: クライアントのデプロイメント・コードが作成されます。
- インストール: Web モジュールと EAR がターゲット・サーバーにインストールされ、構成されます。WSDL ファイルのエンドポイントに対する変更が必要な場合、このステージで変更が行われます。
- 始動: クライアントがサーバーにインストールされると、サーバーが始動するようになります。
- テスト: Web Service Explorer またはサンプル JSP の使用などの、サービスをテストするためのさまざまなオプションが提供されます。
- サーバーの選択: デフォルト・サーバーが表示されます。
サービスを別のサーバーにデプロイしたい場合には、リンクをクリックして別のサーバーを指定してください。
このタスクでは、以下のサーバー・ランタイム環境がサポートされます。
- WebSphere Application Server V7.0 以上
- WebSphere Application Server Liberty Profile V8.5.5
- ランタイムの選択: デフォルトのランタイムが表示されます。
サービスを別のランタイムにデプロイしたい場合には、リンクをクリックして別のランタイムを指定してください。
- クライアント・プロジェクトの選択: ワークスペースで選択されたプロジェクトが表示されます。別のプロジェクトと EAR を選択するためには、プロジェクト・リンクをクリックしてください。 クライアント・コードを配置する場所として、Web プロジェクト、EJB プロジェクト、Java プロジェクト、または Java EE アプリケーション・クライアント・プロジェクトを選択することができます。クライアント Web プロジェクトとして選択したプロジェクトが、サービス Web プロジェクトとは異なること、またはクライアントが生成した成果物によってサービスが上書きされるようになっていることを確認します。JAX-WS Web サービスの場合、サーバー・プロジェクトとクライアント・プロジェクトで同じ EAR を共有することができます。
- Web サービスのモニター: TCP/IP モニターを介して Web サービス・トラフィックを送信します。これにより、Web サービスによって生成される SOAP トラフィックを監視し、このトラフィックが WS-I に準拠しているかどうかをテストできます。あるいは、TCP/IP モニターを使用した Web サービスのテストで説明するとおり、TCP/IP モニターを手動でセットアップすることもできます。
- 「WebSphere JAX-WS Web サービス・クライアント構成 (WebSphere JAX-WS Web Service Client Configuration)」ページ:
- 出力フォルダー: クライアントの Java クラスの生成先となるフォルダーを選択するか、デフォルトを受け入れます。
- ターゲット・パッケージ: Web サービス・クライアント・ウィザードでは、指定された WSDL からいくつもの Java ファイルが生成されます。デフォルトでは、WSDL ファイルで指定されている名前空間に基づいてパッケージ名が作成されます。このデフォルトの振る舞いをオーバーライドするために、WSDL ファイルの名前空間に独自のパッケージ名を指定することができます。
- ポータブル・クライアントの生成: このチェック・ボックスを選択すると、Web サービス・クライアント・コードを複数のマシン間、あるいは WebSphere
Application Server の複数のインスタンス間で移動できます。このオプ
ションを選択した場合、
WSDL 文書と、この WSDL
文書が依存する、すべての XML スキーマおよび他の WSDL 文書は、WEB-INF/wsdl 下のク
ライアント・プロジェクトにコピーされ、
このコピーを指す file:relativeURL
は、JAX-WS サービス・クラスの静的初期化ブロック
に注入されます。
- 生成されたクライアントの非同期呼び出しを使用可能にする: 非同期クライアントを使用可能にすることを選択した場合は、Web サービスのメソッドごとに 2 つのメソッドが追加で作成されます。これらのメソッドはポーリング・メソッドとコールバック・メソッドであり、クライアントが非同期で機能できるようにします。
- JAX-WS または JAXB バインディング・ファイルの指定: JAX-WS または JAXB カスタム・バインディング・ファイルを作成した場合は、それらのファイルを使用してこの Web サービスを作成するために、このチェック・ボックスを選択します。
- クライアント・プロキシー・クラス名をカスタマイズする: デフォルトのプロキシー名を受け入れるか、独自の名前を入力することができます。
- Web サービス・デプロイメント記述子の生成: JAX-WS Web サービスの場合、デプロイメント情報はランタイムによって動的に生成されます。静的デプロイメント記述子は不要になりました。このチェック・ボックスを選択すると上記の記述子が生成されます。
- ベンダー拡張機能を許可: このチェック・ボックスを選択すると、wsgen または wsimport コマンドに -extension オプションが追加されます。
-extension オプションは、JAX-WS 仕様で指定されていない機能のカスタム拡張を使用可能にするかどうか、または受け入れるかどうかを指定します。拡張を使用すると、アプリケーションが移植可能でなくなったり、アプリケーションを他の実装と相互運用できなくなることがあります。
詳しくは、WebSphere Application Server のインフォメーション・センターにある JAX-WS アプリケーション用の wsgen コマンドおよび JAX-WS アプリケーション用の wsimport コマンドのトピックを参照してください。
- 「カスタム・バインディング宣言 (Custom binding declaration)」ページ: 前のページで JAX-WS または JAXB バインディング・ファイルを指定するオプションを選択した場合は、それらのファイルの場所を参照することができます。
- 「プロキシー生成の構成 (Proxy generation configuration)」ページ: クライアント・プロキシー名のカスタマイズを選択した場合は、このページを使用して、各ポートのプロキシー・クラス名を指定します。
- Web サービス・クライアント・テスト・ページ:
- 生成されたプロキシーをテストする: これを選択すると、Web ブラウザーでサンプル・クライアントが起動され、機能をテストできるようになります。
- テスト機能を選択します。生成されたプロキシーを汎用サービス・クライアントまたは Web サービス・エクスプローラーで
テストするか、またはサンプル JAX-WS 2.0 JSP を生成して使用することができます。
- フォルダー: JSP を使用してプロキシーをテストすることを選択した場合、JSP を配置するフォルダーを選択し、JSP に組み込むメソッドを選択できます。
- メソッド: 公開するメソッドを選択します。非同期呼び出しを有効にするオプションを選択した場合は、非同期メソッドもリストされます。
- サーバーでテストを実行: サーバーが自動的に始動します。
- 「終了」をクリックします。プロキシーのテストを選択した場合、
テスト・クライアントはブラウザー・ウィンドウに表示されます。
タスクの結果
生成した Java Bean プロキシーは、Web サービスへのリモート・プロシージャー・コール・インターフェースを提供します。
プロキシー・ファイルのコーディング方法を示すサンプル Web アプリケーションです。
Java クライアント・プロキシーを生成したら、Web サービスのサンプル JSP、または Web サービス・エクスプローラーを使用して、そのプロキシーを介して Web サービスの各種メソッドのテストができます。
- Web サービス・エクスプローラーを使用して Web サービスをテストすることを選択した場合は、エクスプローラーが開きます。テストするオペレーションを選択し、必要な情報を入力して「実行」をクリックします。
「状況」ペインに結果が表示されます。
- Java シン・クライアントのテストを選択した場合、Java シン・クライアントを実行したシステム出力が「コンソール」ビューに表示されます。Java シン・クライアントを実行するには、「実行構成」ダイアログ・ボックスで「実行」をクリックします。プレーン Java アプリケーションとして、クライアントは対応する WebSphere Application Server シン・クライアント・ランタイム・コンテナー JAR を使用します。