IBM WebSphere JAX-WS ランタイム環境を使用した Java Bean からの Web サービスの作成

Web サービス・ウィザードは、新しい Web サービスの作成、デプロイのための Web サービスの構成、およびサーバーへの Web サービスのデプロイを支援します。Web サービスのデプロイ後は、Web サービスをテストするためのクライアント・プロキシーとサンプル・アプリケーションの生成を支援します。テストが完了したら、「エクスポート」ウィザードを使用して、Web サービスを UDDI Business Registry に公開できます。

始める前に

このタスクについて

IBM® WebSphere JAX-WS ランタイム環境を使用して Bean から Web サービスを作成するには、次の手順を実行します。

手順

  1. Java EE パースペクティブに切り替えます (「ウィンドウ」>「パースペクティブを開く」>「Java EE」)。
  2. エンタープライズ・エクスプローラー・ビュー で、Web プロジェクトのソース・フォ ルダーに作成したか、またはインポートした Bean を選択します。
  3. ファイル」>「新規」>「その他」の順にクリックします。「Web サービス」を選択して、各種の Web サービス・ウィザードを表示します。「Web サービス」ウィザードを選択します。「次へ」をクリックします。
  4. 「Web サービス」ページで、Web サービス・タイプとして「ボトムアップ Java bean Web サービス」を選択します。次の操作を実行するオプションもあります。
    1. スライダーを使用して実行する Web サービス開発のステージを選択します。 これにより、残りのウィザードのパネルでいくつかのデフォルト値が設定されます。
      • 開発: Web サービスの WSDL 定義および実装を開発します。 これには、生成されたコード、WSDL ファイル、デプロイメント記述子、および Java ファイル (該当する場合) が入るモジュールの作成などのタスクが含まれます。
      • アセンブル: これにより、Web サービスまたはクライアントをホストするプロジェクトが、ターゲット・アプリケーション・サーバーによって要求されたときに EAR に関連付けられるようになります。
      • デプロイ: これにより、サービスのデプロイメント・コードが作成されるようになります。
      • インストール: これにより、Web モジュールと EAR がターゲット・サーバーにインストールされ、構成されます。 WSDL ファイルのエンドポイントに対する変更が必要な場合、このステージで変更が行われます。
      • 始動: これにより、サービスがサーバーにインストールされると、サーバーが始動するようになります。
      • テスト: これにより、汎用サービス・クライアント、Web サービス・エクスプローラー、またはサンプル JSP を使用するなどの、サービスをテストするためのさまざまなオプションが提供されます。
    2. サーバー・ランタイムの選択: デフォルト・サーバーが表示されます。 サービスを別のサーバーにデプロイしたい場合には、サーバー・リンクをクリックして別のサーバーを指定してください。
      このタスクでは、以下のサーバー・ランタイム環境がサポートされます。
      • WebSphere Application Server V7.0 以上
      • WebSphere Application Server Liberty Profile V8.5.5
    3. Web サービス・ランタイムの選択: デフォルトのランタイムが表示されます。サービスを IBM WebSphere JAX-WS ランタイムにデプロイするには、ランタイム・リンクをクリックし、開いたウィンドウでそれを選択します。
    4. サービス・プロジェクトとサービス EAR プロジェクトの選択: ワークスペースで選択されたプロジェクトが表示されます。サポートされるのは、 Java 5.0、Java 6.0、または Java 7.0 の ファセットが使用可能になっている Web プロジェクトのみです。 別のプロジェクトと EAR を選択するには、プロジェ クト・リンクをクリックするか、または名前を入力し て、ウィザードでプロジェクトを作成できるようにし ます。 クライアント Web プロジェクトとして選択したプロジェクトが、サービス Web プロジェクトとは異なること、またはクライアントが生成した成果物によってサービスが上書きされるようになっていることを確認します。 JAX-WS Web サービスでは、サーバー・プロジェクトとクライアント・プロジェクトで同じ EAR を共有できます。
    5. クライアントを作成したい場合は、生成するプロキシーのタイプを 選択し、クライアントについてステップ 1 から 4 を繰り返します。 クライアントは、後で、IBM WebSphere JAX-WS ランタイム環境を使用した WSDL 文書からの Web サービス・クライアントの作成で概説する手順に従って作成することができます。
    6. Web サービスのモニター: TCP/IP モニターを介して Web サービス・トラフィックを送信します。これにより、Web サービスによって生成される SOAP トラフィックを監視し、このトラフィックが WS-I に準拠しているかどうかをテストできます。あるいは、TCP/IP モニターを使用した Web サービスのテストで説明するとおり、TCP/IP モニターを手動でセットアップすることもできます。
  5. WebSphere JAX-WS ボトムアップ Web サービス構成:
    • 委譲クラス名: 委譲 Java 実装クラス名を入力するか、デフォルトを受け入れます。委譲クラスは、Java Bean、およびランタイムで Web サービスとして認識される JAX-WS 注釈 Bean から生成されるすべてのメソッドを含むラッパーです。委譲クラスは、オリジナルの Bean と同じパッケージに生成されます。
    • Java から WSDL へのマッピング・スタイル: Web サービスとの間で送受信されるメッセージのエンコード・スタイルを定義するスタイルです。パラメーター・スタイルによって、メソッドのパラメーターがメッセージ本文全体を表すものかどうか、または、それらのパラメーターが、操作の名前が付けられる最上位の要素内でラップされる要素であるかどうかが決まります。有効な組み合わせは、RPC、Document/Wrapped、または Document/Bare です。
    • メソッド・パラメーター用の @WebParam 注釈を生成: このチェック・ボックスを選択すると、メソッド宣言のパラメーターで該当する引数に @WebParam 注釈が設定されるようになります。@WebParam 注釈は、個々のパラメーターから Web サービス・メッセージ・パーツおよび XML 要素へのマッピングをカスタマイズします。@WebParam 注釈について詳しくは、WebSphere Application Server のインフォメーション・センターにある JAX-WS 注釈トピックで javax.jws.WebParam を検索してください。
      ヒント: このオプションは、「設定」ページでデフォルトで使用可能に設定できます。そうするには、ツールバーにアクセスし、「ウィンドウ」 > 「設定」 > 「WebSphere」 > 「JAX-WS コード生成」を選択します。「ボトムアップ」セクションの下で「メソッド・パラメーター用の @WebParam 注釈を生成」チェック・ボックスを選択してください。
    • SOAP 1.2 バインディングを有効にする: これを選択しない場合、SOAP 1.1 バインディングが使用されます。SOAP 1.1 と 1.2 の違いについて詳しくは、SOAP を参照してください。
    • MTOM サポートを有効にする: このチェック・ボックスを選択すると、SOAP Message Transmission Optimization Mechanism が有効になり、バイナリー・コンテンツの伝送が最適化されます。MTOM について詳しくは、SOAP MTOM を参照してください。
    • WSDL ファイルをプロジェクトへ生成する: Bean が Web サービスであることが委譲クラス内の注釈を使用してランタイムに伝えられるので、静的 WSDL ファイルが自動的にプロジェクトに生成されることはなくなりました。WSDL ファイルは、Bean 内の情報に基づいて、ランタイムによって動的に生成されます。これを選択すると、Web サービスの静的 WSDL ファイルが生成されるようになります。このオプションは、クライアントを後で作成する場合や WSDL を他のユーザーに公開する場合に便利です。ウィザードの次のページを使用することにより WSDL を構成できます。
    • Web サービス・デプロイメント記述子の生成: JAX-WS Web サービスのデプロイメント情報がランタイムによって動的に生成されます。静的デプロイメント記述子は必要でなくなります。このチェック・ボックスを選択すると上記の記述子が生成されます。
    • ベンダー拡張機能を許可: このチェック・ボックスを選択すると、wsgen または wsimport コマンドに -extension オプションが追加されます。 -extension オプションは、JAX-WS 仕様で指定されていない機能のカスタム拡張を使用可能にするかどうか、または受け入れるかどうかを指定します。拡張を使用すると、アプリケーションが移植可能でなくなったり、アプリケーションを他の実装と相互運用できなくなることがあります。 詳しくは、WebSphere Application Server のインフォメーション・センターにある JAX-WS アプリケーション用の wsgen コマンドおよび JAX-WS アプリケーション用の wsimport コマンドのトピックを参照してください。
    注: 既に Bean に @javax.jws.WebService 注釈が付いている場合、このウィザードで委譲 Bean を生成する必要はないので、このページのほとんどのフィールドは使用不可になります。WSDL ファイルの生成のみを選択することができます。Java Bean に @javax.jws.WebService のみ を追加した場合、SOAP 1.2 バインディ ングや MTOM などのその他のオプションを有効にする には、ウィザードを終了して、注釈を削除するかまた は注釈文書を使用して Web サービスの作成に進みます。このウィザードでは、部分的に注釈が付けられている既存の Bean に新規の注釈を付加することはできません。
  6. 「WebSphere JAX-WS WSDL インターフェース構成」ページ: 前のページで WSDL ファイルの生成を選択した場合、このページが表示され、生成される WSDL ファイルを構成できるようになります。構成できるのは以下の項目です。
    • WSDL ターゲット名前空間
    • WSDL サービス名
    • WSDL ポート名
  7. 「Web サービスのテスト」ページ: Web サービスのテストを選択した場合、生成した Web サービスに関するテスト機能を選択し、「起動」をクリックします。これにより、Web サービスが、Web サービス・エクスプローラーまたは汎用サービス・クライアントで開きます。テストするオペレーションを選択し、必要な情報を入力して「実行」をクリックします。「状況」ペインに結果が表示されます。 「次へ」をクリックします。
  8. 「WebSphere JAX-WS Web サービス・クライアント構成 (WebSphere JAX-WS Web Services Client Configuration)」ページ: クライアントの生成を選択した場合、このページで以下の関連オプションを指定することができます。
    • 出力フォルダー: クライアント・コードの生成先となる場所です。
    • ターゲット・パッケージ: Web サービス・クライアント・ウィザードでは、いくつもの Java ファイルが生成されます。デフォルトでは、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 サービス・クライアントを作成できるようになります。これを選択すると、ウィザードの次のページでカスタム・バインディング宣言ファイルの場所を参照できるようになります。
    • クライアント・プロキシー・クラス名をカスタマイズする: デフォルトのポート名をサービス実装クラス名マッピングに変更する場合、このチェック・ボックスを選択します。
  9. 「カスタム・バインディング宣言」ページ: JAX-WS または JAXB バインディング・ファイルを指定するオプションを選択した場合は、このページで、それらのファイルの場所を参照することができます。
  10. 「プロキシー生成の構成 (Proxy Generation Configuration)」ページ: 定義されている各ポートについて、プロキシー・クラスの名前を入力するか、または、デフォルトを受け入れることができます。
  11. Web サービス・クライアント・テスト・ページ:
    • 生成されたプロキシーをテストする: これを選択すると、Web ブラウザーでサンプル・クライアントが起動され、機能をテストできるようになります。
    • テスト機能を選択します。生成されたプロキシーを汎用サービス・クライアントまたは Web サービス・エクスプローラーで テストするか、またはサンプル JAX-WS 2.0 JSP を生成して使用することができます。
    • フォルダー: JSP を使用してプロキシーをテストすることを選択した場合、JSP を配置するフォルダーを選択し、JSP に組み込むメソッドを選択できます。
    • メソッド: 公開するメソッドを選択します。非同期呼び出しを有効にするオプションを選択した場合は、非同期メソッドもリストされます。
    • サーバーでテストを実行: サーバーが自動的に始動するようになります。

タスクの結果

Web サービスの作成後、選択したオプションによっては、以下が発生する場合があります。
制約事項:

別々の Jar ファイルに含まれる他のクラスに依存するクラス・ファイルから JAX-WS Web サービスを生成する場合、 プロジェクトは Java EE モジュール依存関係またはユーザー・ライブラリーから、それらの外部 JAR ファイルを参照する必要があります。Jar が EAR プロジェクトにある場合は、Java EE モジュール依存関係を使用することができます。

Jar が WebSphere Application Server に構成された共有ライブラリーの一部である場合、Web サービスを生成する前に、ユーザー・ライブラリーを使用して開発用のプロジェクトを構成する必要があります。ユーザー・ライブラリーをプロジェクトに追加するには、次のようにします。
  1. プロジェクトを右クリックして、「プロパティー」 > 「Java のビルド・パス」 > 「ライブラリー」をクリックします。
  2. 「ライブラリーの追加」 > 「ユーザー・ライブラリー」 > 「ユーザー・ライブラリー」をクリックします。
  3. ユーザー・ライブラリーを作成し、そこにユーティリティー JAR を追加します。
トピックのタイプを示すアイコン タスクのトピック
インフォメーション・センターのご利用条件 | フィードバック

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

ファイル名: twsbeanjaxws.html