「Web サービス」ウィザードは、既存の WSDL 文書からスケルトン EJB を作成する際に役立ちます。 スケルトン EJB には、WSDL 文書に記述されている操作に対応する
一連のメソッドが含まれています。EJB が作成されると、
各メソッドに Bean の編集をすることによって置き換えられる、
単純な実装が生成されます。
前提条件:
- EJB プロジェクトを作成し、それを新規の EAR プロジェクトに追加します。このプロジェクトには、
生成済みのスケルトン EJB Bean が保持されます。
- トランスポート・メソッドとして SOAP over HTTP を使用する場合は空の Web プロジェクトを作成し、
トランスポート・メソッドとして SOAP over JMS を使用する場合は EJB プロジェクトを作成して、
ルーター・プロジェクトとして機能させます。作成するプロジェクトは、
エンタープライズ Bean が含まれる EJB プロジェクトと同じ EAR に追加する必要があります。ルーター・モジュールの詳細については、『ルーター・モジュールの作成 (Creating router modules)』を参照してください。
- WSDL 文書をディスカバーし、Web プロジェクトにインポートします。使用できる WSDL ファイルは、サービス要素を含むもののみです。
- SOAP over JMS を使用する場合は、SOAP over JMS 用の
サーバーおよびサーバー構成を作成するの説明に従って、
JMS 用のサーバーおよびサーバー構成を作成する必要があります。
- ご使用のコンピューターの速度によっては、WebSphere® Application Server の始動に
数分かかることがあるので、まずこれを始動しておいてから Web サービス・ウィザードを実行することを
強くお勧めします。サーバーを開始するには、「サーバー」ビューでこのサーバーを選択して
(「ウィンドウ」 > 「ビューの表示」 > 「サーバー」)
右クリックし、「始動」をクリックする。
- EJB アプリケーション開発について詳しくは、情報センターの『Developing Enterprise Applications』を参照してください。
WSDL 文書から Web サービスおよびスケルトン EJB を作成する手順は、次のとおりです。
- J2EE パースペクティブに切り替えます (「ウィンドウ」>「パースペクティブを開く」>「J2EE」)。
- 「プロジェクト・エクスプローラー」ビューで、スケルトン EJB Web サービスを
作成するための Web プロジェクトを選択します。
- 「ファイル」>「新規」>「その他」の順にクリックします。「Web サービス」を選択して、各種の Web サービス・ウィザードを表示します。
「Web サービス」ウィザードを選択します。「次へ」をクリックします。
- 「Web サービス」ページ「Web service type」ドロップダウン・リストから、
「Top down EJB Web service」を選択します。EJB Bean の生成に使用する WSDL、WSIL、
または HTML ファイルに URI を入力する。URI の先頭にスペースがないか、あるいは NULL ポインター例外が生成されていないかどうかを確認してください。以下を行うこともできます。
- スライダーを使用して完了させたい Web サービス開発のステージを選択します。
- 開発: Web サービスの WSDL 定義および実装を作成します。
これには、生成されたコード、WSDL ファイル、デプロイメント記述子、および Java™ ファイル (該当する場合) が入るモジュールの作成などのタスクが含まれます。
- アセンブル: これにより、Web サービスまたはクライアントをホストするプロジェクトが、ターゲット・アプリケーション・サーバーによって要求されたときに EAR に関連付けられるようになります。
ルーター・モジュールはこのステージで作成されます。
- デプロイ: これにより、サービスのデプロイメント・コードが作成されるようになります。
- インストール: これにより、Web モジュールと EAR がターゲット・サーバーにインストールされ、構成されます。
WSDL ファイルのエンドポイントに対する変更が必要な場合、このステージで変更が行われます。
- 始動: これにより、サービスがサーバーにインストールされると、サーバーが始動するようになります。
- テスト: これにより、Web Service Explorer またはサンプル JSP の使用などの、サービスをテストするためのさまざまなオプションが提供されます。
- サーバーの選択: デフォルト・サーバーが表示されます。
サービスを別のサーバーにデプロイしたい場合には、リンクをクリックして別のサーバーを指定してください。
- ランタイム環境の選択: デフォルトのランタイム環境が表示されます。
サービスを別のランタイム環境にデプロイしたい場合には、リンクをクリックして別のランタイムを指定してください。
- サービス・プロジェクトの選択: ワークスペースで選択されたプロジェクトを含むプロジェクトが表示されます。
別のプロジェクトと EAR を選択するためには、プロジェクト・リンクをクリックしてください。 クライアント Web プロジェクトとして選択したプロジェクトが、サービス Web プロジェクトとは異なること、またはクライアントが生成した成果物によってサービスが上書きされるようになっていることを確認します。
- クライアントを作成したい場合には、生成したいプロキシーのタイプを選択し、クライアントについて上記のステップを繰り返します。
- Web サービスの公開: Web サービス・エクスプローラーを起動して、Web サービスを UDDI レジストリーに公開します。 HTTP トランスポートを使用する Web サービスのテストには、
Web サービス・エクスプローラーのみ使用可能であることに注意してください。
- Web サービスのモニター: Web サービス・トラフィックを TCP/IP モニターを介して送信します。これにより、Web サービスによって生成される SOAP トラフィックを監視し、このトラフィックが WS-I に準拠しているかどうかをテストできます。
あるいは、『TCP/IP モニターを使用した Web サービスのテスト (Using the TCP/IP Monitor to test Web services)』で説明されているように、TCP/IP モニターを手動でセットアップすることができます。 HTTP トランスポートを使用する Web サービスのモニターのみ可能であることに注意してください。
- Web サービス・スケルトン EJB 構成ページ:
- HTTP または JMS バインディングのどちらを使用するかを選択して、ルーター・プロジェクトを選択します。
- またオプションで、Web サービスのサーバー・サイドの
セキュリティーを使用可能にすることもできます。
- リモート・クライアント・ビューの追加: EJB 2.1 仕様からは、ステ
ートレス・セッション Bean に Web サービス・クライアント・ビューとローカルおよびリモート・ビューを組み込めるようになりました。
Web サービス・クライアント・ビューには、単一のサービス・エンドポイント・インターフェースが含まれます。
- 名前空間からパッケージへのカスタム・マッピングを定義: カスタム・マッピング・ペアを入力できるようにします。
- 「パッケージ・マッピングへの Web サービス名前空間 (Web Service Namespace to Package Mappings)」ページ: Web サービス・ウィザードは、指定された WSDL から多数の Java ファイルを生成します。デフォルトでは、WSDL ファイルに指定された名前空間に基づいてパッケージ名を作成します。
このデフォルトの動作を無効にするには、WSDL ファイル内のいくつか、またはすべての名前空間に独自のパッケージ名を指定してください。直前のパネルで
「Define custom mapping for namespace to package」を選択した場合は、
このパネルで「追加」をクリックして、カスタム・マッピングのペアを入力することができます。
あるいは、「インポート」をクリックして、.properties ファイルから
カスタム・マッピングのペアをインポートすることもできます。プロパティー・ファイルの内容は、
namespace=package というフォーマットでなければなりません。
- 「Web Service Test」ページ: Web サービス・エクスプローラーで Web サービスをテストする場合は、
「Launch」をクリックします。テストするオペレーションを選択し、必要な情報を入力して「Go」をクリックします。「状況」ペインに結果が表示されます。
- 「Web Service Proxy」ページ: プロキシーを生成する場合はこれを選択し、
このプロキシーのセキュリティーを使用可能にするかどうかを選択します。オプションで、
ネーム・スペースからパッケージへのカスタム・マッピングを入力することができます。
- 「Web Service client namespace to package mapping」ページ: 直前のパネルで
「Define custom mapping for namespace to package」を選択した場合は、
このパネルで「追加」をクリックして、カスタム・マッピングのペアを入力することができます。
あるいは、「インポート」をクリックして、.properties ファイルから
カスタム・マッピングのペアをインポートすることもできます。プロパティー・ファイルの内容は、
namespace=package というフォーマットでなければなりません。
- 「Web サービス・クライアントのテスト (Web Service Client Test)」ページ: このページを使用して、次のオプションを選択します。
- テスト機能を選択します。
生成したプロキシーを 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)」の指示に従って、
このタスクを完了します。
EJB について詳しくは、EJB アプリケーション開発の文書を
参照してください。
重要: WSDL ファイルから
スケルトン EJB を作成する場合、新しく作成された EJB では JNDI 名 は
生成されません。この EJB を 単体テスト環境で実行すると、コンソールにコード WSVR0038I の
警告「No JNDI name found for the EJB, a default binding name based on the home interface will be used.」が
表示されます。このエラーは、
ご使用の Web サービスに影響を与えるものではありません。この問題を回避するには、J2EE ツールを使用して、EJB に JNDI 名を割り当てます。