前提条件:
- EJB プロジェクトを作成し、それを新規 EAR プロジェクトに追加する。
このプロジェクトは生成されたスケルトン EJB Bean を保持します。
- トランスポート・メソッドとして HTTP 上の SOAP を使用している場合は空の Web プロジェクトを、
同じく JMS 上の SOAP を使用している場合は EJB プロジェクトをそれぞれ作成して、ルーター・プロジェクトの働きをさせる。
作成したプロジェクトは、エンタープライズ Bean を含む EJB プロジェクトと同じ EAR に追加されなければなりません。
- WSDL 文書をディスカバーし、Web プロジェクトにインポートする。
使用できる WSDL ファイルは、サービス・エレメントを含むもののみです。
- JMS 上の SOAP を使用する場合、
『JMS 上の SOAP のサーバーおよびサーバー構成の作成』の説明に従って、
JMS のサーバーおよびサーバー構成を作成する必要があります。
- Web サービス・ウィザードを実行する前に、
WebSphere Application Server を開始することを強くお勧めします。
ご使用のコンピューターの速度にもよりますが、このサーバーが立ち上がるまでに数分かかることがあるからです。
サーバーを開始するには、「サーバー」ビューでこのサーバーを選択して
(「ウィンドウ」 > 「ビューの表示」 > 「サーバー」)
右クリックし、「開始」をクリックする。
「Web サービス」ウィザードを使用すると、既存の WSDL 文書からスケルトン EJB が簡単に作成できます。
スケルトン EJB には、WSDL 文書で説明する操作に対応する一連のメソッドが含まれています。
EJB が作成されると、各メソッドには、Bean を編集することによって置き換えられる単純な実装ができます。
EJB アプリケーション開発について詳しくは、「EJB ツール」を参照してください。
WSDL 文書からスケルトン EJB を作成するには、以下の手順を実行します。
- J2EE パースペクティブに切り替える (「ウィンドウ」 > 「パースペクティブを開く」 > 「J2EE」)。
- 「プロジェクト・エクスプローラー」ビューで、
スケルトン EJB Web サービスを作成するための Web プロジェクトを選択する。
- 「ファイル」 > 「新規」 > 「その他 」の順にクリックする。
各種の Web サービス・ウィザードを表示するために、「Web サービス」を選択する。
「Web サービス」ウィザードを選択する。「次へ」をクリックする。
- 「Web サービス」ページ:
「Web サービス・タイプ」ドロップダウン・リストから「スケルトン EJB Web サービス」を選択する。
次の操作を実行するオプションもあります。
- Web プロジェクトで Web サービスを開始する。
このオプションを選択しない場合は、Web サービスを手動で開始する必要があります。
このオプションを選択しないと、このページの他のオプションは使用可能になりません。
- Web サービス・エクスプローラーを起動して、Web サービスを UDDI レジストリーに公開する。
- Web サービスに Java™ Bean クライアント・プロキシーを生成する。
生成される Java Bean
クライアント・プロキシーは、 Web サービスへのリモート・プロシージャー・コール・インターフェースを提供します。
- Web サービスをテストする。
これにより、プロキシーの生成前に Web サービス・エクスプローラーで Web サービスをテストできます。
- Web サービス・トラフィックを TCP/IP モニターを通して送信する。
これにより、Web サービスによって生成される SOAP トラフィックを監視し、
このトラフィックが WS-I 準拠かどうかをテストできます。
- 「オブジェクト選択」ページ: EJB Bean の生成に使用する WSDL、WSIL、またはHTML ファイルに URI を入力する。
オプションで、このファイルから WSIL ファイルを生成することもできます。 URI の先頭にスペースがないか、あるいは NULL ポインター例外が生成されていないかどうかを確認してください。
- 「サービス・デプロイメント構成」ページ: サーバーとクライアントのデプロイメント設定を指定する。
- 「編集」をクリックし、
IBM®
WebSphere®
ランタイム環境を選択して、Web サービスおよび Web サービス・クライアントを実行するためのサーバーを選択する。 WebSphere
ランタイム環境は、この Web サービスのタイプにサポートされている唯一のランタイム環境です。
- Web サービスのサービス・プロジェクトおよび EAR を選択する。 これらがまだ存在しない場合には、ウィザードで作成します。
- 作成された Web サービス・クライアントに必要なプロジェクトのタイプおよび名前を選択する。
既存のプロジェクトの名前を入力する場合、プロジェクト・タイプ・フィールドは、
その既存のプロジェクトのタイプ・フィールドと一致する必要があります。
まだ存在していないプロジェクトの名前を入力する場合は、ウィザードで
プロジェクトを作成できます。
Axis および SOAP ランタイム・クライアントでサポートされている
プロジェクト・タイプは、Web プロジェクトのみである点に注意してください。
クライアントを
Java、EJB、
またはアプリケーション・クライアント・プロジェクトに作成する場合、
使用するクライアントに
WebSphere
ランタイム環境を選択する必要があります。
- 既存の EAR を選択するか、Web サービス・クライアントを
Web サービス EAR 以外の別の EAR に関連付ける固有の名前を入力する。
注: Web サービスと Web サービス・クライアントについて異なる EAR を
選択すると、実行時エラーの発生頻度は減りますが、
より多くのシステム・リソースを使用します。
- 「Web サービス・スケルトン EJB の構成」ページ: このページには、生成する WSDL ファイルの名前が表示されます。
Web サービスのサーバー・サイドに、
ルーター・プロジェクト (あらかじめ存在している EJB プロジェクトでなければなりません)、およびセキュリティー設定を選択します。
ワークスペースに既に SEI がある場合には、それを使用するよう選択することも、ウィザードに生成させることもできます。
トランスポート・メソッドとして JMS 上の SOAP を使用している場合は、
JMS URI プロパティーの情報のほとんどが、事前に充てんされているはずです。
リスナー・ポート名については、手動で入力しなければならない場合があります。
- 「Web サービスの名前空間からパッケージへのマッピング」ページ:
前のパネルで「名前空間からパッケージへのカスタム・マッピングを定義する」を選択した場合、
「追加」をクリックして、このパネルにカスタム・マッピングのペアを入力できます。
または、「インポート」をクリックして、
.properties ファイルからカスタム・マッピングのペアをインポートすることもできます。
.properties ファイルの内容は、namespace=package というフォーマットでなければなりません。
- 「Web サービスのテスト」ページ: Web サービス・エクスプローラーで Web サービスをテストする場合は、
「起動」をクリックする。
テストする操作を選択し、必要な情報を入力して「実行」をクリックする。
「状況」ペインに結果が表示されます。
- 「Web サービス・プロキシー」ページ: プロキシーを生成する場合に選択し、
このプロキシーのセキュリティーを使用可能にするかどうかを選択する。
オプションで、名前空間からパッケージへのカスタム・マッピングを入力することを選択することもできます。
- 「Web サービス・クライアントの名前空間からパッケージへのマッピング」ページ:
前のパネルで「名前空間からパッケージへのカスタム・マッピングを定義する」を選択した場合、
「追加」をクリックして、このパネルにカスタム・マッピングのペアを入力できます。
または、「インポート」をクリックして、
.properties ファイルからカスタム・マッピングのペアをインポートすることもできます。
.properties ファイルの内容は、namespace=package というフォーマットでなければなりません。
- 「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 ブラウザーに起動されます。
このサンプル・アプリケーションを使用すると、メソッドを選択し、
そのメソッドに値を入力して「呼び出し」をクリックすることにより、Web サービスをテストできます。
メソッドの結果は、結果ペインに表示されます。
- 生成したプロキシーを Universal Test Client によってテストする方法を選択した場合、
次の URL を指定すると、プロキシーが Web ブラウザーで起動されます:
http://localhost:9080/UTC/preload?object= BeanPackage.BeanServiceProxy。
オブジェクト参照の下の「参照」ペインで、プロキシー・スタブを展開して、Web サービスのメソッドを表示します。
テストするメソッドをクリックし、パラメーター・ペインに値を入力して「呼び出し」をクリックします。
その情報の下に結果が生成されます。
- Web サービス・エクスプローラーの使用による Web サービスのテストを選択すると、エクスプローラーが開きます。
テストする操作を選択し、必要な情報を入力して「実行」をクリックする。
「状況」ペインに結果が表示されます。
- Web サービスの公開を選択した場合、Web サービス・エクスプローラーが起動し、
IBM UDDI テスト・レジストリーに
Web サービスを公開するために必要なページが表示されます。
「Web サービスの公開」 の指示に従って、このタスクを完了します。
EJB について詳しくは、EJB アプリケーション開発の文書を参照してください。
重要: WSDL ファイルからスケルトン EJB を作成するときには、
新しく作成された EJB の JNDI 名は生成されません。
この EJB がユニット・テスト環境で実行されると、
「JNDI 名が見つからないので、ホーム・インターフェースに基づくデフォルトのバインディング名が使用されます」というコード
WSVR0038I の警告がコンソールに表示されます。
このエラーはご使用の Web サービスには影響しません。
この問題を避けるためには、J2EE ツールを使用して、EJB に JNDI 名を割り当ててください。