WebSphere JAX-RPC ランタイム環境を使用した WSDL ファイルからのスケルトン・エンタープライズ Bean (EJB) の作成

「Web サービス」ウィザードは、既存の WSDL 文書からスケルトン EJB を作成する際に役立ちます。 スケルトン EJB には、WSDL 文書に記述されている操作に対応する 一連のメソッドが含まれています。EJB が作成されると、 各メソッドに Bean の編集をすることによって置き換えられる、 単純な実装が生成されます。

始める前に

前提条件:

このタスクについて

WSDL 文書から Web サービスおよびスケルトン EJB を作成する手順は、次のとおりです。

手順

  1. Java™ EE パースペクティブに切り替えます (「ウィンドウ」>「パースペクティブを開く」>「Java EE」)。
  2. 「エンタープライズ・エクスプローラー」ビューで、スケルトン EJB Web サービスを 作成するための Web プロジェクトを選択します。
  3. ファイル」>「新規」>「その他」の順にクリックします。「Web サービス」を選択して、各種の Web サービス・ウィザードを表示します。「Web サービス」ウィザードを選択します。「次へ」をクリックします。
  4. 「Web サービス」ページ「Web service type」ドロップダウン・リストから、 「Top down EJB Web service」を選択します。EJB Bean の生成に使用する WSDL、WSIL、 または HTML ファイルに URI を入力する。URI の先頭にスペースがないか、あるいは NULL ポインター例外が生成されていないかどうかを確認してください。以下を行うこともできます。
    1. スライダーを使用して実行する Web サービス開発のステージを選択します。 これにより、残りのウィザードのパネルでいくつかのデフォルト値が設定されます。
      • 開発: Web サービスの WSDL 定義および実装を作成します。これには、生成されたコード、WSDL ファイル、デプロイメント記述子、および Java ファイル (該当する場合) が入るモジュールの作成などのタスクが含まれます。
      • アセンブル: これにより、Web サービスまたはクライアントをホストするプロジェクトが、ターゲット・アプリケーション・サーバーによって要求されたときに EAR に関連付けられるようになります。ルーター・モジュールはこのステージで作成されます。
      • デプロイ: これにより、サービスのデプロイメント・コードが作成されるようになります。
      • インストール: これにより、Web モジュールと EAR がターゲット・サーバーにインストールされ、構成されます。 WSDL ファイルのエンドポイントに対する変更が必要な場合、このステージで変更が行われます。
      • 始動: これにより、サービスがサーバーにインストールされると、サーバーが始動するようになります。
      • テスト: これにより、汎用サービス・クライアント、Web サービス・エクスプローラー、またはサンプル JSP を使用するなどの、サービスをテストするためのさまざまなオプションが提供されます。HTTP トランスポートを使用する Web サービスのテストには、Web サービス・エクスプローラーのみ使用可能であることに注意してください。
    2. サーバーの選択: デフォルト・サーバーが表示されます。 サービスを別のサーバーにデプロイしたい場合には、リンクをクリックして別のサーバーを指定してください。
    3. ランタイム環境の選択: デフォルトのランタイム環境が表示されます。 サービスを別のランタイム環境にデプロイしたい場合には、リンクをクリックして別のランタイムを指定してください。
    4. サービス・プロジェクトの選択: ワークスペースで選択されたプロジェクトを含むプロジェクトが表示されます。 別のプロジェクトと EAR を選択するためには、プロジェクト・リンクをクリックしてください。 クライアント Web プロジェクトとして選択したプロジェクトが、サービス Web プロジェクトとは異なること、またはクライアントが生成した成果物によってサービスが上書きされるようになっていることを確認します。
    5. クライアントを作成したい場合には、生成したいプロキシーのタイプを選択し、クライアントについて上記のステップを繰り返します。
    6. Web サービスの公開: Web サービス・エクスプローラーを起動して、Web サービスを UDDI レジストリーに公開します。
    7. Web サービスのモニター: TCP/IP モニターを介して Web サービス・トラフィックを送信します。これにより、Web サービスによって生成される SOAP トラフィックを監視し、このトラフィックが WS-I に準拠しているかどうかをテストできます。あるいは、TCP/IP モニターを使用した Web サービスのテストで説明するとおり、TCP/IP モニターを手動でセットアップすることもできます。 HTTP トランスポートを使用する Web サービスのモニターのみ可能であることに注意してください。さらに、TCP/IP モニターを介して Web サービス・トラフィックを経路指定している場合は、Universal Test Client を使用して Web サービスをテストできません。
  5. Web サービス・スケルトン EJB 構成ページ:
    1. HTTP または JMS バインディングのどちらを使用するかを選択して、ルーター・プロジェクトを選択します。
    2. またオプションで、Web サービスのサーバー・サイドの セキュリティーを使用可能にすることもできます。
    3. リモート・クライアント・ビューの追加: EJB 2.1 仕様からは、ステ ートレス・セッション Bean に Web サービス・クライアント・ビューとローカルおよびリモート・ビューを組み込めるようになりました。 Web サービス・クライアント・ビューには単一のサービス・エンドポイント・インターフェースが組み込まれています。
    4. 名前空間からパッケージへのカスタム・マッピングを定義: カスタム・マッピング・ペアを入力できるようにします。
  6. 「Web Service Namespace to Package Mappings」ページ: Web サービス・ウィザードでは、指定された WSDL から複数の Java ファイルが生成されます。デフォルトでは、WSDL ファイルで指定されている名前空間に基づいてパッケージ名が作成されます。このデフォルトの振る舞いをオーバーライドするために、WSDL ファイルの一部またはすべての名前空間に独自のパッケージ名を指定することができます。直前のページで 「名前空間からパッケージへのカスタム・マッピングを定義」を選択した場合は、 このページで「追加」をクリックして、カスタム・マッピングのペアを入力することができます。 あるいは、「インポート」をクリックして、.properties ファイルから カスタム・マッピングのペアをインポートすることもできます。プロパティー・ファイルの内容は、 namespace=package というフォーマットでなければなりません。 プロパティー・ファイル内の一部の特殊文字をエスケープする必要があります。例えば、http://someNamespace=somePackagehttp¥://someNamespace=somePackage とする必要があります。そうしないと、コロン (:) は区切り文字として扱われ、その結果、http//someNamespace=somePackage にマップするよう試行されます。 Java のプロパティー・ファイルのフォーマットに関する詳細は、Java プラットフォーム API 資料: java.util.Properties のロード・メソッドを参照してください。
  7. 「Web サービスのテスト」ページ: Web サービス・エクスプローラーまたは汎用サービス・クライアントで Web サービスをテストする場合は、 「起動」をクリックします。テストするオペレーションを選択し、必要な情報を入力して「実行」をクリックします。「状況」ペインに結果が表示されます。
  8. 「Web Service Proxy」ページ: プロキシーを生成する場合はこれを選択し、 このプロキシーのセキュリティーを使用可能にするかどうかを選択します。オプションで、 名前空間からパッケージへのカスタム・マッピングを入力することができます。
  9. 「Web Service Client Namespace to Package Mappings」ページ: 前ページで 「Define custom mapping for namespace to package」を選択した場合は、 このページで「追加」をクリックして、カスタム・マッピングのペアを入力することができます。 あるいは、「インポート」をクリックして、.properties ファイルから カスタム・マッピングのペアをインポートすることもできます。プロパティー・ファイルの内容は、 namespace=package というフォーマットでなければなりません。 プロパティー・ファイル内の一部の特殊文字をエスケープする必要があります。例えば、http://someNamespace=somePackagehttp¥://someNamespace=somePackage とする必要があります。そうしないと、コロン (:) は区切り文字として扱われ、その結果、http//someNamespace=somePackage にマップするよう試行されます。 Java のプロパティー・ファイルのフォーマットに関する詳細は、Java プラットフォーム API 資料: java.util.Properties のロード・メソッドを参照してください。
  10. 「Web サービス・クライアントのテスト (Web Service Client Test)」ページ: このページを使用して、次のオプションを選択します。
    • テスト機能を選択します。 生成したプロキシーを Universal Test Client または Web サービス・エクスプローラーでテストするか、 またはサンプル Web サービス JSP を生成することができます。 TCP/IP モニターを介して Web サービス・トラフィックを経路指定する場合は、Universal Test Client を使用して Web サービスをテストできないことに注意してください。
    • JSP を使用してプロキシーをテストする方法を選択した場合、JSP を配置するフォルダーを選択し、JSP に組み込むメソッドを選択できます。
  11. 「Web サービスの公開」ページ: この Web サービスを UDDI レジストリーに公開するかどうかを選択します。 「終了」をクリックします。

タスクの結果

Web サービスの作成後、選択したオプションによっては、以下が発生する場合があります。

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 名を割り当てます。

フィードバック