Web サービス・ウィザードは、新しい Web サービスの作成、デプロイのための Web サービスの構成、およびサーバーへの Web サービスのデプロイを支援します。Web サービスのデプロイ後は、Web サービスをテストするためのクライアント・プロキシーとサンプル・アプリケーションの生成を支援します。テストが完了したら、「エクスポート」ウィザードを使用して、Web サービスを UDDI Business Registry に公開できます。
始める前に
- ご使用のコンピューターの速度によっては WebSphere® Application Server が開始するまでに数分かかることがあるため、WebSphere Application Server を使用している場合は、Web サービス・ウィザードを実行する前にサーバーを開始しておくことを強くお勧めします。サーバーを開始するには、「サーバー」ビューでサーバーを選択し (「ウィンドウ」>「ビューの表示」>「サーバー」)、右クリックして「開始」を選択します。
- Bean を Web プロジェクトまたは Java™ プロジェクトの Java ソース・フォルダーに作成するか、またはインポートします。
インポートするためには、「Java Resources: src」フォルダーを選択し、「ファイル」メニューからを選択して、パッケージがあるロケーションを参照します。
このタスクについて
IBM® WebSphere JAX-WS ランタイム環境を使用して Bean から Web サービスを作成するには、次の手順を実行します。
手順
- Java EE パースペクティブに切り替えます (「ウィンドウ」>「パースペクティブを開く」>「Java EE」)。
- エンタープライズ・エクスプローラー・ビュー
で、Web プロジェクトのソース・フォ
ルダーに作成したか、またはインポートした Bean を選択します。
- 「ファイル」>「新規」>「その他」の順にクリックします。「Web サービス」を選択して、各種の Web サービス・ウィザードを表示します。「Web サービス」ウィザードを選択します。「次へ」をクリックします。
- 「Web サービス」ページで、Web サービス・タイプとして「ボトムアップ Java bean Web サービス」を選択します。次の操作を実行するオプションもあります。
- スライダーを使用して実行する Web サービス開発のステージを選択します。
これにより、残りのウィザードのパネルでいくつかのデフォルト値が設定されます。
- 開発: Web サービスの WSDL 定義および実装を開発します。
これには、生成されたコード、WSDL ファイル、デプロイメント記述子、および Java ファイル (該当する場合) が入るモジュールの作成などのタスクが含まれます。
- アセンブル: これにより、Web サービスまたはクライアントをホストするプロジェクトが、ターゲット・アプリケーション・サーバーによって要求されたときに EAR に関連付けられるようになります。
- デプロイ: これにより、サービスのデプロイメント・コードが作成されるようになります。
- インストール: これにより、Web モジュールと EAR がターゲット・サーバーにインストールされ、構成されます。
WSDL ファイルのエンドポイントに対する変更が必要な場合、このステージで変更が行われます。
- 始動: これにより、サービスがサーバーにインストールされると、サーバーが始動するようになります。
- テスト: これにより、汎用サービス・クライアント、Web サービス・エクスプローラー、またはサンプル JSP を使用するなどの、サービスをテストするためのさまざまなオプションが提供されます。
- サーバー・ランタイムの選択: デフォルト・サーバーが表示されます。
サービスを別のサーバーにデプロイしたい場合には、サーバー・リンクをクリックして別のサーバーを指定してください。
このタスクでは、以下のサーバー・ランタイム環境がサポートされます。
- WebSphere Application Server V7.0 以上
- WebSphere Application Server Liberty Profile V8.5.5
- Web サービス・ランタイムの選択: デフォルトのランタイムが表示されます。サービスを IBM WebSphere JAX-WS ランタイムにデプロイするには、ランタイム・リンクをクリックし、開いたウィンドウでそれを選択します。
- サービス・プロジェクトとサービス EAR プロジェクトの選択: ワークスペースで選択されたプロジェクトが表示されます。サポートされるのは、
Java 5.0、Java 6.0、または Java 7.0 の
ファセットが使用可能になっている Web プロジェクトのみです。
別のプロジェクトと EAR を選択するには、プロジェ
クト・リンクをクリックするか、または名前を入力し
て、ウィザードでプロジェクトを作成できるようにし
ます。 クライアント Web プロジェクトとして選択したプロジェクトが、サービス Web プロジェクトとは異なること、またはクライアントが生成した成果物によってサービスが上書きされるようになっていることを確認します。
JAX-WS Web サービスでは、サーバー・プロジェクトとクライアント・プロジェクトで同じ EAR を共有できます。
- クライアントを作成したい場合は、生成するプロキシーのタイプを
選択し、クライアントについてステップ 1 から 4 を繰り返します。 クライアントは、後で、IBM WebSphere JAX-WS ランタイム環境を使用した WSDL 文書からの Web サービス・クライアントの作成で概説する手順に従って作成することができます。
- Web サービスのモニター: TCP/IP モニターを介して Web サービス・トラフィックを送信します。これにより、Web サービスによって生成される SOAP トラフィックを監視し、このトラフィックが WS-I に準拠しているかどうかをテストできます。あるいは、TCP/IP モニターを使用した Web サービスのテストで説明するとおり、TCP/IP モニターを手動でセットアップすることもできます。
- WebSphere JAX-WS ボトムアップ Web サービス構成:
注: 既に Bean に @javax.jws.WebService 注釈が付いている場合、このウィザードで委譲 Bean を生成する必要はないので、このページのほとんどのフィールドは使用不可になります。WSDL ファイルの生成のみを選択することができます。Java
Bean に
@javax.jws.WebService のみ
を追加した場合、SOAP 1.2 バインディ
ングや MTOM などのその他のオプションを有効にする
には、ウィザードを終了して、注釈を削除するかまた
は注釈文書を使用して Web サービスの作成に進みます。このウィザードでは、部分的に注釈が付けられている既存の Bean に新規の注釈を付加することはできません。
- 「WebSphere JAX-WS WSDL インターフェース構成」ページ: 前のページで WSDL ファイルの生成を選択した場合、このページが表示され、生成される WSDL ファイルを構成できるようになります。構成できるのは以下の項目です。
- WSDL ターゲット名前空間
- WSDL サービス名
- WSDL ポート名
- 「Web サービスのテスト」ページ: Web サービスのテストを選択した場合、生成した Web サービスに関するテスト機能を選択し、「起動」をクリックします。これにより、Web サービスが、Web サービス・エクスプローラーまたは汎用サービス・クライアントで開きます。テストするオペレーションを選択し、必要な情報を入力して「実行」をクリックします。「状況」ペインに結果が表示されます。
「次へ」をクリックします。
- 「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 サービス・クライアントを作成できるようになります。これを選択すると、ウィザードの次のページでカスタム・バインディング宣言ファイルの場所を参照できるようになります。
- クライアント・プロキシー・クラス名をカスタマイズする: デフォルトのポート名をサービス実装クラス名マッピングに変更する場合、このチェック・ボックスを選択します。
- 「カスタム・バインディング宣言」ページ: JAX-WS または JAXB バインディング・ファイルを指定するオプションを選択した場合は、このページで、それらのファイルの場所を参照することができます。
- 「プロキシー生成の構成 (Proxy Generation Configuration)」ページ: 定義されている各ポートについて、プロキシー・クラスの名前を入力するか、または、デフォルトを受け入れることができます。
- Web サービス・クライアント・テスト・ページ:
- 生成されたプロキシーをテストする: これを選択すると、Web ブラウザーでサンプル・クライアントが起動され、機能をテストできるようになります。
- テスト機能を選択します。生成されたプロキシーを汎用サービス・クライアントまたは Web サービス・エクスプローラーで
テストするか、またはサンプル JAX-WS 2.0 JSP を生成して使用することができます。
- フォルダー: JSP を使用してプロキシーをテストすることを選択した場合、JSP を配置するフォルダーを選択し、JSP に組み込むメソッドを選択できます。
- メソッド: 公開するメソッドを選択します。非同期呼び出しを有効にするオプションを選択した場合は、非同期メソッドもリストされます。
- サーバーでテストを実行: サーバーが自動的に始動するようになります。
タスクの結果
Web サービスの作成後、選択したオプションによっては、以下が発生する場合があります。
- 生成したプロキシーを Web サービス JSP を使用してテストすることを選択した場合、
プロキシーが http://localhost: port/WebProjectClient/sampleBeanName/WebServiceName/TestClient.jsp という URL を使用して Web ブラウザーに起動されます。
このサンプル・アプリケーションを使用すると、メソッドを選択し、
そのメソッドに値を入力して「Invoke」をクリックすることにより、Web サービスをテストできます。
メソッドの結果は、結果ペインに表示されます。
- 生成したプロキシーを Universal Test Client によってテストすることを
選択した場合、例えば、次のように URL を指定すると、プロキシーがブラウザー・ウィンドウで起動されます。http://localhost:port/UTC/preload?object=BeanPackage.BeanServiceProxy
「オブジェクト」の下のプロキシー・スタブを展開し、Web サービスのメソッドを表示します。テストするメソッドをクリックし、「パラメーター」ペインに値を入力して
「Invoke」をクリックします。結果が自動的に生成されます。
- Web サービス・エクスプローラーを使用して Web サービスをテストすることを選択した場合は、エクスプローラーが開きます。テストするオペレーションを選択し、必要な情報を入力して「実行」をクリックします。「状況」ペインに結果が表示されます。
制約事項: 別々の Jar ファイルに含まれる他のクラスに依存するクラス・ファイルから JAX-WS
Web サービスを生成する場合、
プロジェクトは Java EE モジュール依存関係またはユーザー・ライブラリーから、それらの外部 JAR ファイルを参照する必要があります。Jar が EAR プロジェクトにある場合は、Java EE モジュール依存関係を使用することができます。
Jar が WebSphere Application
Server に構成された共有ライブラリーの一部である場合、Web サービスを生成する前に、ユーザー・ライブラリーを使用して開発用のプロジェクトを構成する必要があります。ユーザー・ライブラリーをプロジェクトに追加するには、次のようにします。
- プロジェクトを右クリックして、をクリックします。
- をクリックします。
- ユーザー・ライブラリーを作成し、そこにユーティリティー JAR を追加します。