「Web サービス (Web Service)」ウィザードを使用すると、新規 Web サービスの作成、
そのサービスのデプロイメント用の構成、および Web サービスのサーバーへのデプロイを、簡単に行うことができます。
Web サービスをデプロイした後では、このウィザードに従うと、
クライアント・プロキシーおよびサンプル・アプリケーションを生成して、Web サービスをテストすることができます。
テストが完了したら、「エクスポート」ウィザードを使用して、Web サービスを UDDI Business Registry に公開することができます。
前提条件:
- WebSphere® サーバー
および Web プロジェクトの作成の説明に従って、動的な
Web プロジェクトを作成します。
WebSphere Application Server が立ち上がるまでに、
ご使用のコンピューターの速度にもよりますが、数分かかることがありますので、
このサーバーの開始は、Web サービス・ウィザードを実行させる前に開始することを強くお勧めします。
サーバーを開始するには、「サーバー」ビューでこのサーバーを選択して
(「ウィンドウ」 > 「ビューの表示」 > 「サーバー」)
右クリックし、「始動」をクリックする。
- Bean を作成するか、または Web プロジェクトの Java™ ソース・フォルダーにインポートします。
インポートするためには、「Java
Resources: src」フォルダーを選択し、ファイル・メニューからを選択して、パッケージがあるロケーションを参照します。
IBM® WebSphere JAX-RPC ランタイム環境を使用して Bean から
Web サービスを作成する手順は、次のとおりです。
- J2EE パースペクティブに切り替えます (「ウィンドウ」>「パースペクティブを開く」>「J2EE」)。
- 「プロジェクト・エクスプローラー」ビューで、
ご使用の Web プロジェクトのソース・フォルダーに作成またはインポートした Bean を選択します。
- 「ファイル」>「新規」>「その他」の順にクリックします。「Web サービス」を選択して、各種の Web サービス・ウィザードを表示します。
「Web サービス」ウィザードを選択します。「次へ」をクリックします。
- 「Web サービス」ページ: Web サービス・タイプとして「Bottom up Java bean Web service」を
選択します。
次の操作を実行するオプションもあります。
- スライダーを使用して完了させたい Web サービス開発のステージを選択します。
- 開発: Web サービスの WSDL 定義および実装を開発します。
これには、生成されたコード、WSDL ファイル、デプロイメント記述子、および Java ファイル (該当する場合) が入るモジュールの作成などのタスクが含まれます。
- アセンブル: これにより、Web サービスまたはクライアントをホストするプロジェクトが、ターゲット・アプリケーション・サーバーによって要求されたときに EAR に関連付けられるようになります。
- デプロイ: これにより、サービスのデプロイメント・コードが作成されるようになります。
- インストール: これにより、Web モジュールと EAR がターゲット・サーバーにインストールされ、構成されます。
WSDL ファイルのエンドポイントに対する変更が必要な場合、このステージで変更が行われます。
- 始動: これにより、サービスがサーバーにインストールされると、サーバーが始動するようになります。
- テスト: これにより、Web Service Explorer またはサンプル JSP の使用などの、サービスをテストするためのさまざまなオプションが提供されます。
- サーバーの選択: デフォルト・サーバーが表示されます。
サービスを別のサーバーにデプロイしたい場合には、リンクをクリックして別のサーバーを指定してください。
- ランタイムの選択: デフォルトのランタイムが表示されます。
サービスを別のランタイムにデプロイしたい場合には、リンクをクリックして別のランタイムを指定してください。
- サービス・プロジェクトの選択: ワークスペースで選択されたプロジェクトが表示されます。
別のプロジェクトと EAR を選択するためには、プロジェクト・リンクをクリックしてください。 クライアント Web プロジェクトとして選択したプロジェクトが、サービス Web プロジェクトとは異なること、またはクライアントが生成した成果物によってサービスが上書きされるようになっていることを確認します。
- クライアントを作成したい場合には、生成したいプロキシーのタイプを選択し、クライアントについて上記のステップを繰り返します。
- Web サービスの公開: Web サービス・エクスプローラーを起動して、Web サービスを UDDI レジストリーに公開します。
- Web サービスのモニター: Web サービス・トラフィックを TCP/IP モニターを介して送信します。これにより、Web サービスによって生成される SOAP トラフィックを監視し、このトラフィックが WS-I に準拠しているかどうかをテストできます。
あるいは、『TCP/IP モニターを使用した Web サービスのテスト (Using the TCP/IP Monitor to test Web services)』で説明されているように、TCP/IP モニターを手動でセットアップすることができます。
- 「Service Endpoint Interface Selection」ページ:
- サービス・エンドポイント・インターフェース (SEI) をウィザードに生成させるのではなく、既存の SEI を使用することができます。
- サービス・デプロイの有効範囲を設定します。これは、サーバーのインプリメンテーションをデプロイする方法を示しています。
アプリケーションは、すべての要求についてインプリメンテーション・クラスの 1 つのインスタンスを使用します。
要求により、それぞれの要求ごとにインプリメンテーション・クラスの新規インスタンスが作成されます。
セッションにより、それぞれのセッションごとにインプリメンテーション・クラスの新規インスタンスが作成されます。
- SOAP アクションを設定します。このオプションは、生成された WSDL の「soapAction」フィールドの設定に使用されます。デフォルトでは、「soapAction」フィールドはデプロイメント情報に基づいて設定されます。
「なし」を指定すると、「soapAction」フィールドは二重引用符 ("") に設定されます。「Operation」を指定すると、「soapAction」フィールドにはオペレーション名が設定されます。
- WSDL 1.1 標準を使用して MIME 型を排他的にマップすることも選択できます。
MIME 型が WSDL 1.1 標準に合わせてマップできない場合は (例えば、添付ファイルが
配列または Java
Bean プロパティーである場合)、このコマンドは失敗します。
- Web サービス Java Bean の識別ページ:
- WSDL ポート名または WSDL ファイル名を変更します。
- 公開するメソッドを選択します。
- Set the void return - このフィールドは、Web サービスからの応答が予想されるかどうかを記述する void の戻り型がある Web サービス・メソッドで使用されます。
Oneway: この引数は、JMS トランスポートの場合のデフォルトです。
Twoway: この引数は HTTP トランスポートの場合のデフォルトです。
- エンコード・スタイルを選択します。これにより、WSDL ファイルに生成されるスタイルおよび使用の組み合わせが指定されます。
この組み合わせは、エンコードされた RPC、RPC リテラル、または文書リテラルです。
文書/リテラルのみが WS-I に準拠しています。
- セキュリティー・オプションを選択します。セキュリティーは WS-I に準拠していません。
- パッケージからネーム・スペースへのマッピングをカスタマイズするかどうかを選択します。
- エクストラ・クラスと停止クラスを指定します。エクストラでは、WSDL ファイルに示されているその他のクラスを指定します。
-stopClasses 引数を使用して、
検索を停止させるその他のクラスを定義することができます。
- 「名前空間マッピングへの Web サービス・パッケージ (Web Service Package to Namespace Mappings)」ページ: Web サービス・ウィザードは、指定された Java Bean から WSDL ファイルを生成します。デフォルトでは、Java Bean のパッケージ名に基づいて名前空間を作成します。このデフォルトの動作を無効にするには、WSDL ファイルに生成される独自の名前空間を指定してください。直前のページで
「Define custom mapping for package to namespace」を選択した場合は、
このページで「追加」をクリックして、カスタム・マッピングのペアを入力することができます。
あるいは、「インポート」をクリックして、.properties ファイルから
カスタム・マッピングのペアをインポートすることもできます。プロパティー・ファイルの内容は、
package=namespace というフォーマットでなければなりません。
- 「Extra and Stop Classes Configuration」ページ:「Specify extra and stop classes」を
選択すると、このページにエクストラ・クラスと停止クラスをインポートできます。 エクストラでは、WSDL ファイルに示されているその他のクラスを指定します。
-stopClasses 引数を使用して、
検索を停止させるその他のクラスを定義することができます。
- 「Web サービスのテスト」ページ: Web サービスのテストを選択した場合、
生成した Web サービスに対するテスト機能を選択します。これにより、Web サービス・エクスプローラーでその Web サービスが開きます。
テストするオペレーションを選択し、必要な情報を入力して「Go」をクリックします。「状況」ペインに結果が表示されます。
「次へ」をクリックします。
- 「Web Service Proxy」ページ: プロキシーの生成を選択した場合は、
プロキシー・セキュリティー・オプションを選択し、パッケージからネーム・スペースへのマッピングを
カスタマイズするかどうかを選択します。
- 「Web Service client package to namespace mapping」ページ: 直前のページで
「Define custom mapping for package to namespace」を選択した場合は、
このページで「追加」をクリックして、カスタム・マッピングのペアを入力することができます。
あるいは、「インポート」をクリックして、.properties ファイルから
カスタム・マッピングのペアをインポートすることもできます。プロパティー・ファイルの内容は、
package=namespace というフォーマットでなければなりません。
データ・バインディングを
使用不可に設定して、WSDL から Java を
生成するときに SOAP 要素を使用することもできます。
- Web サービス・クライアント・テスト・ページ:
- テスト機能を選択します。
生成したプロキシーを Universal Test Client または Web サービス・エクスプローラーでテストするか、
またはサンプル Web サービス JSP を生成することができます。
- JSP を使用してプロキシーをテストする方法を選択した場合、JSP を配置するフォルダーを選択し、JSP に組み込むメソッドを選択できます。
- 「サーバーでテストを実行」を選択して、サーバーが自動的に開始されるようにします。
- 「Web サービスの公開」ページ: この Web サービスを UDDI レジストリーに公開するかどうかを選択します。
「終了」をクリックします。
Web サービスを作成すると、選択したオプションに応じて、次の状態になります。
- 生成したプロキシーを Web サービス JSP を使用してテストすることを選択した場合、
プロキシーが http://localhost: port/WebProjectClient/sampleBeanName/WebServiceName/TestClient.jsp という URL を使用して Web ブラウザーに起動されます。
このサンプル・アプリケーションを使用すると、メソッドを選択し、
そのメソッドに値を入力して「Invoke」をクリックすることにより、Web サービスをテストできます。
メソッドの結果は、結果ペインに表示されます。
- 生成したプロキシーを Universal Test Client によってテストする方法を
選択した場合、次の URL を指定すると、プロキシーがブラウザー・ウィンドウで
起動されます: http://localhost:9080/UTC/preload?object= BeanPackage
BeanServiceProxy。「Object References」の下の「参照」ペインで、このプロキシー・スタブを展開して Web サービスのメソッドを 表示します。テストするメソッドをクリックし、「パラメーター」ペインに値を入力して
「Invoke」をクリックします。下に結果が生成されます。
- Web サービス・エクスプローラーの使用による Web サービスのテストを選択すると、エクスプローラーが開きます。
テストするオペレーションを選択し、必要な情報を入力して「Go」をクリックします。「状況」ペインに結果が表示されます。
- Web サービスの公開を選択した場合、Web サービス・エクスプローラーが起動し、IBM UDDI テスト・レジストリーに Web サービスを公開するために必要なページが表示されます。「Web サービスの公開 (Publishing the Web service)」の指示に従って、
このタスクを完了します。