「Web サービス」ウィザードを使用すると、既存の WSDL 文書からスケルトン Bean が簡単に作成できます。 スケルトン Bean には、WSDL 文書で説明するオペレーションに対応する一連のメソッドが含まれています。
Bean が作成されると、各メソッドには、Bean の編集をすることによって置き換えられる、単純な実装ができます。
始める前に
前提条件:
- オプション:
WebSphere® Server および Web プロジェクトの作成
の説明に従って、Web プロジェクトを作成します。
- WebSphere Application Server が立ち上がるまでに、
ご使用のコンピューターの速度にもよりますが、数分かかることがありますので、
このサーバーの開始は、Web サービス・ウィザードを実行させる前に開始することを強くお勧めします。
サーバーを開始するには、「サーバー」ビューでこのサーバーを選択して
(「ウィンドウ」>「ビューの表示」>「サーバー」)
右クリックし、「始動」をクリックする。
- WSDL 文書を作成またはディスカバーし、Web プロジェクトにインポートします。使用できる WSDL ファイルは、サービス要素を含むもののみです。
このタスクについて
WebSphere JAX-RPC ランタイム環境を使用してスケルトン
Java™ Bean を WSDL 文書から作成する方法:
手順
- Java EE パースペクティブに切り替えます (「ウィンドウ」>「パースペクティブを開く」>「Java EE」)。
- 「エンタープライズ・エクスプローラー」ビューで、スケルトン Bean Web サービスを
作成するための Web プロジェクトを選択し、作成またはインポートした WSDL ファイルを
選択します。
- 「ファイル」>「新規」>「その他」の順にクリックします。「Web サービス」を選択して、各種の Web サービス・ウィザードを表示します。「Web サービス」ウィザードを選択します。「次へ」をクリックします。
- 「Web サービス」ページ: Web サービス・タイプとして「Top down Java bean Web service」を
選択します。次の操作を実行するオプションもあります。
- スライダーを使用して実行する Web サービス開発のステージを選択します。
これにより、残りのウィザードのパネルでいくつかのデフォルト値が設定されます。
- 開発: Web サービスの WSDL 定義および実装を開発します。
これには、生成されたコード、WSDL ファイル、デプロイメント記述子、および Java ファイル (該当する場合) が入るモジュールの作成などのタスクが含まれます。
- アセンブル: これにより、Web サービスまたはクライアントをホストするプロジェクトが、ターゲット・アプリケーション・サーバーによって要求されたときに EAR に関連付けられるようになります。
- デプロイ: これにより、サービスのデプロイメント・コードが作成されるようになります。
- インストール: これにより、Web モジュールと EAR がターゲット・サーバーにインストールされ、構成されます。
WSDL ファイルのエンドポイントに対する変更が必要な場合、このステージで変更が行われます。
- 始動: これにより、サービスがサーバーにインストールされると、サーバーが始動するようになります。
- テスト: これにより、汎用サービス・クライアント、Web サービス・エクスプローラー、またはサンプル JSP を使用するなどの、サービスをテストするためのさまざまなオプションが提供されます。
- サーバーの選択: デフォルト・サーバーが表示されます。
サービスを別のサーバーにデプロイしたい場合には、リンクをクリックして別のサーバーを指定してください。
- ランタイムの選択: デフォルトのランタイムが表示されます。
サービスを別のランタイムにデプロイしたい場合には、リンクをクリックして別のランタイムを指定してください。
- サービス・プロジェクトの選択: ワークスペースで選択されたプロジェクトが表示されます。
別のプロジェクトと EAR を選択するためには、プロジェクト・リンクをクリックしてください。 クライアント Web プロジェクトとして選択したプロジェクトが、サービス Web プロジェクトとは異なること、またはクライアントが生成した成果物によってサービスが上書きされるようになっていることを確認します。
- クライアントを作成したい場合には、生成したいプロキシーのタイプを選択し、クライアントについて上記のステップを繰り返します。
- Web サービスの公開: Web サービス・エクスプローラーを起動して、Web サービスを UDDI レジストリーに公開します。
- Web サービスのモニター: TCP/IP モニターを介して Web サービス・トラフィックを送信します。これにより、Web サービスによって生成される SOAP トラフィックを監視し、このトラフィックが WS-I に準拠しているかどうかをテストできます。
あるいは、TCP/IP モニターを使用した Web サービスのテストで説明するとおり、TCP/IP モニターを手動でセットアップすることもできます。 TCP/IP モニターを介して Web サービス・トラフィックを経路指定する場合は、Universal Test Client を使用して Web サービスをテストできないことに注意してください。
- 「Web サービス・スケルトン Java Bean 構成」ページ:
- Skeleton folder: 作成する Java Bean スケルトンのロケーションを入力します。
- サービス・デプロイの有効範囲を設定します。これは、サーバーのインプリメンテーションをデプロイする方法を示しています。
アプリケーションは、すべての要求について実装クラスの 1 つのインスタンスを使用します。
要求は、各要求ごとに新しい実装クラス・インスタンスを 1 つ作成します。
セッションは、各セッションごとに新しい実装クラス・インスタンスを 1 つ作成します。
デフォルトは、ランタイム環境のデフォルトである
WebSphere Application
Server の要求の有効範囲に設定されています。
- オプションで、この Web サービスでセキュリティーを使用可能にするかどうかを
選択できます。セキュリティーは WS-I には
準拠していません。
- 「Define custom mapping for namespace to package」: パッケージと名前空間間のマッピングを確認または編集する場合は、このチェック・ボックスを選択します。
- 「Web Service Namespace to Package Mappings」ページ: Web サービス・ウィザードでは、指定された WSDL から複数の Java ファイルが生成されます。デフォルトでは、WSDL ファイルで指定されている名前空間に基づいてパッケージ名が作成されます。このデフォルトの振る舞いをオーバーライドするために、WSDL ファイルの一部またはすべての名前空間に独自のパッケージ名を指定することができます。直前のページで
「名前空間からパッケージへのカスタム・マッピングを定義」を選択した場合は、
このページで「追加」をクリックして、カスタム・マッピングのペアを入力することができます。
あるいは、「インポート」をクリックして、.properties ファイルから
カスタム・マッピングのペアをインポートすることもできます。プロパティー・ファイルの内容は、
namespace=package というフォーマットでなければなりません。 プロパティー・ファイル内の一部の特殊文字をエスケープする必要があります。例えば、http://someNamespace=somePackage は http¥://someNamespace=somePackage とする必要があります。そうしないと、コロン (:) は区切り文字として扱われ、その結果、http を //someNamespace=somePackage にマップするよう試行されます。
Java のプロパティー・ファイルのフォーマットに関する詳細は、Java プラットフォーム
API 資料: java.util.Properties のロード・メソッドを参照してください。
- 「Web Service Proxy」ページ: プロキシーの生成を選択すると、
このページにプロキシーのオプションが表示されます。ここにはプロキシーが生成されるフォルダーがリストされるので、オプションで、
プロキシーのセキュリティーを使用可能にしたり、名前空間とパッケージ間のカスタム・マッピングを
作成したりすることができます。
- 「Web Service Client Namespace to Package Mappings」ページ: 前ページで
「Define custom mapping for namespace to package」を選択した場合は、
このページで「追加」をクリックして、カスタム・マッピングのペアを入力することができます。
あるいは、「インポート」をクリックして、.properties ファイルから
カスタム・マッピングのペアをインポートすることもできます。プロパティー・ファイルの内容は、
namespace=package というフォーマットでなければなりません。 プロパティー・ファイル内の一部の特殊文字をエスケープする必要があります。例えば、http://someNamespace=somePackage は http¥://someNamespace=somePackage とする必要があります。そうしないと、コロン (:) は区切り文字として扱われ、その結果、http を //someNamespace=somePackage にマップするよう試行されます。
Java のプロパティー・ファイルのフォーマットに関する詳細は、Java プラットフォーム
API 資料: java.util.Properties のロード・メソッドを参照してください。
- 「Web サービスの公開」ページ: Web サービスを UDDI レジストリーに公開することを選択した場合は、このページを使用して Web サービス・エクスプローラーを起動し、Web サービスが公開される UDDI レジストリーを選択します。
「終了」をクリックします。
タスクの結果
Web サービスの作成後、選択したオプションによっては、以下が発生する場合があります。
- 生成したプロキシーを Web サービス JSP を使用してテストすることを選択した場合、
プロキシーが http://localhost: port/WebProjectClient/sampleBeanName/WebServiceName/TestClient.jsp という URL を使用して Web ブラウザーに起動されます。
このサンプル・アプリケーションを使用すると、メソッドを選択し、
そのメソッドに値を入力して「Invoke」をクリックすることにより、Web サービスをテストできます。
メソッドの結果は、結果ペインに表示されます。
これは、簡単なメソッド実装を備えた Java Bean スケルトンであるため、
値 -3 が戻されます。
- 生成したプロキシーを Universal Test Client によってテストする方法を
選択した場合、次の URL を指定すると、プロキシーがブラウザー・ウィンドウで
起動されます: http://localhost:9080/UTC/preload?object= BeanPackage
BeanServiceProxy。「オブジェクト参照」の下の「参照」ペインで、プロキシー・スタブを展開して Web サービスのメソッドを表示します。テストするメソッドをクリックし、「パラメーター」ペインに値を入力して
「Invoke」をクリックします。下に結果が生成されます。
- Web サービス・エクスプローラーを使用して Web サービスをテストすることを選択した場合は、エクスプローラーが開きます。テストするオペレーションを選択し、必要な情報を入力して「実行」をクリックします。「状況」ペインに結果が表示されます。
- Web サービスを公開することを選択した場合は、Web サービス・エクスプローラーが起動し、IBM® UDDI テスト・レジストリーに Web サービスを公開するために必要なページが表示されます。「Web サービスの公開 (Publishing the Web service)」の指示に従って、
このタスクを完了します。