< 前へ | 次へ >

演習 3: Web サービス・クライアントの作成

この演習では、Web サービス用のクライアントの作成方法を学習します。

始める前に、演習 2: Web サービスの 作成を完了する必要があります。
Web サービス・クライアントは、Web サービスのデプロイ先、およびこのサービスが提供する操作を記述した WSDL 文書から作成されます。使用するのは、Web サービス・ウィザードで生成された静的 WSDL ファイルでも、JAX-WS Web サービスの作成時に、Java クラスに追加された注釈から収集した情報を基にランタイムによって生成される動的 WSDL ファイルでもかまいません。このチュートリアルでは、動的 WSDL ファイルを使用します。

動的に生成される WSDL の表示

サーバーが開始したら、注釈付き Bean を即時にテストして、それが Web サービスであることを確認し、動的 WSDL ファイルを生成することができます。
  1. Web サービスが使用しているポートがわからない場合は、それを見つけます。これを行う手順は、次のとおりです。
    1. 「サーバー」ビューでサーバーを右クリックして、「 管理」 > 「管理コンソールの実行」を選択 し、WebSphere Application Server 管理コンソールを起動します。
    2. 「サーバー」 > 「 サーバー・タイプ」を展開し、「WebSphere Application Servers」を選択します。
    3. リストから該当するサーバー名を選択します。デフォルトでは、これは「server1」です。
    4. 「構成」タブで、「通信」という見出しを検索し、「ポート」を展開します。
    5. 使用されるポートは WC_defaulthost です。このチュートリアルでは、サンプルのポート番号 9081 を使用します。 次の手順に従って、この番号をお客様独自のポートで置換します。
  2. このアイコン メイン・ツールバーに表示される Web ブラウザー・アイコン をクリックして、Web ブラウザーを起動します。
  3. ブラウザーで、URL http://localhost:9081/jwsAddressBook/AddressBookService を入力し、RETURN キーを押します。これが Web サービスであることを示すページが表示されます。
  4. ステップ 3 の URL の末尾に ?wsdl を 追加し (http://localhost:9081/jwsAddressBook/AddressBookService?wsdl)、もう一度 RETURN キーを押します。 動的に生成された WSDL ファイルが表示されます。このファイルは、サーバーが稼働している間は Web サービス・ウィザードで生成した静的 WSDL ファイルと同じ方法で使用できます。

アドレス帳 Web サービス・クライアントの作成と JSP のテスト

  1. 「ファイル」 >「新規」>「その他」の順にクリックします。「Web サービス」を選択して、各種の Web サービス・ウィザードを表示します。「Web サービス・クライアント」ウィザードを選択します。「次へ」をクリックします。
  2. 「Web サービス」ページ: 「サービス定義」フィールドの前のセクションで動的に生成された WSDL ファイルの URL http://localhost:9081/jwsAddressBook/AddressBookService?wsdl を入力します。
    1. スライダーを使用して完了させたい Web サービス・クライアント開発のステージを選択します。このチュートリアルでは、「テスト・クライアント」を選択します。 これにより、必要なクライアント・コードがすべて生成され、クライアント用のさまざまなテスト・オプションが提供されます。
    2. サーバー: WebSphere v7.0 以上のサーバーが選択されていることを確認します。
    3. Web サービス・ランタイム: 確実に JAX-WS ランタイムを選択します。
    4. クライアント・プロジェクト: 演習 1 で作成したクライアント・プロジェクト jwsAddressBookClient を選択します。
    5. クライアント EAR プロジェクト: jwsAddressBookEAR を選択します。 JAX-WS Web サービスでは、サーバー・プロジェクトとクライアント・プロジェクトで同じ EAR を共有できます。
    6. Web サービスのモニター: TCP/IP モニターを介して Web サービス・トラフィックを送信します。これにより、Web サービスによって生成される SOAP トラフィックを監視し、このトラフィックが WS-I に準拠しているかどうかをテストできます。TCP/IP モニターでは RSP ポリシー設定で保護された Web サービスのモニターができないため、このオプションは選択しないでください。
    「次へ」をクリックします。
  3. 「WebSphere JAX-WS Web サービス・クライアント構成 (WebSphere JAX-WS Web Service Client Configuration)」ページ:
    • 出力フォルダー: クライアントの Java クラスが生成されるデフォルトのフォルダーを受け入れます。
    • ターゲット・パッケージ: Web サービス・クライアント・ウィザードでは、指定された WSDL からいくつもの Java ファイルが生成されます。デフォルトでは、WSDL ファイルで指定されている名前空間に基づいてパッケージ名が作成されます。このデフォルトの振る舞いをオーバーライドするために、WSDL ファイルの名前空間に独自のパッケージ名を指定することができます。 このチュートリアルでは、デフォルト設定を受け入れます。
    • ポータブル・クライアントの生成: このチェック・ボックスを選択すると、Web サービス・クライアント・コードを複数のマシン間、あるいは WebSphere Application Server の複数のインスタンス間で移動できます。このチュートリアル では、必須ではありません。
    • 生成されたクライアントの非同期呼び出しを使用可能にする: 非同期クライアントを使用可能にすることを選択した場合は、Web サービスのメソッドごとに 2 つのメソッドが追加で作成されます。それはポーリング・メソッドとコールバック・メソッドであり、クライアントが非同期で機能できるようにします。このオプションを選択します。
    • JAX-WS または JAXB バインディング・ファイルの指定: JAX-WS または JAXB カスタム・バインディング・ファイルを作成した場合は、それらのファイルを使用してこの Web サービスを作成するために、このチェック・ボックスを選択します。チュートリアルではこれを選択しないでください。
    • クライアント・プロキシー・クラス名をカスタマイズする: デフォルトのプロキシー名を受け入れるか、独自の名前を入力することができます。チュートリアルではこれを選択しないでください。
    • スキーマ・ライブラリーの生成: これを選択すると、Java コンパイラーへの JAX-WS スキーマが実行されて、スキーマが生成されます。 このチュートリアルでは、このオプションを選択しないでください。
    • Web サービス・デプロイメント記述子の生成: JAX-WS Web サービスの場合、デプロイメント情報はランタイムによって動的に生成されます。静的デプロイメント記述子は不要になりました。このチェック・ボックスを選択すると上記の記述子が生成されます。このチュートリアルでは、 デプロイメント記述子は必要ありません。
    • 生成する JAX-WS コードのバージョン: WebSphere Application Server v7.0 から、JAX-WS 2.1 準拠のコードを生成できるようになりました。 このチュートリアルでは、2.1 を選択します。
    「次へ」をクリックします。
  4. Web サービス・クライアント・テスト・ページ:
    • 生成されたプロキシーをテストする: これを選択して、クライアントの機能をテストします。
    • テスト機能を選択します。生成したプロキシーを Universal Test Client または Web サービス・エクスプローラーでテストするか、またはサンプル JAX-WS 2.0 JSP を生成することができます。 このチュートリアルでは、JAX-WS JSP を選択します。
    • フォルダー: JSP が置かれるフォルダーを選択できます。デフォルトを受け入れます。
    • メソッド: 公開するメソッドを選択します。非同期メソッドもリストされます。すべてのメソッドを選択してください。
    • サーバーでテストを実行: サーバーが自動的に始動するようになります。
    終了」をクリックします。サンプル JSP が、ブラウザー・ウィンドウで開きます。

サンプル JSP を使用した Web サービス・クライアントのテスト

次の手順で、Web サービスを同期でテストします。
  1. 正しいオプションを選択していれば、TestClient.jsp が自動的に 起動されるはずです。TestClient.jsp が表示されない場合は、jwsAddressBookClient/WebContent/sampleAddressBookPortProxy/TestClient.jsp を選択し、「実行」 > 「サーバーで実行」を右クリックして選択します。
  2. サービスを同期でテストするには、saveAddress メソッドを選択し、名前フィールドに情報を入力します。 他のすべてのフィールドはオプションです。「起動」をクリックします。
  3. findAddress メソッドを選択し、saveAddress メソッドの実行中に使用した名前を入力し、「起動」をクリックします。saveAddress メソッドによって保存された情報が、「結果」ペインに表示されます。
  4. サービスを非同期にテストするには、「サービス品質 (Quality of Service)」ペインで「非同期呼び出しを使用可能にする (Enable asynchronous invocation)」チェック・ボックスを選択します。
  5. findAddress メソッドを選択し、saveAddress メソッドの実行中に使用した名前を入力し、「起動」をクリックします。
  6. メソッドが進行中であることを示す新しいリンクが表示されます。 このリンクをクリックすると、メソッドの応答が「結果」ペインに表示されます。

Web サービスのテストが完了した後に JSP を開いたままにしておくと、Web サービスおよびクライアントを保護した後に再度サービスをテストできます。

演習のチェックポイント

これで、演習 4: RSP ポリシー・セットを使用した Web サービスの保護 を開始する準備が完了しました。

< 前へ | 次へ >
トピックのタイプを示すアイコン チュートリアルの演習のトピック
インフォメーション・センターのご利用条件 | フィードバック

タイム・スタンプ・アイコン 最終更新: May 29, 2014 10:20

ファイル名: jaxwstd_exercise13.html