モデル・プロジェクトでのWebサービスの使用

このトピックは、「モデル・プロジェクト用のビジネス・サービスの作成」の手順に従って、Webサービスがビジネス・サービス・テクノロジとして選択されていることを前提としています。

JDeveloperで作成するWebサービスの機能を使用することも、Web上の任意の場所にある外部Webサービスを使用することもできます。

アプリケーションでWebサービスを使用するには、次のようにします。

  1. 必要に応じて、Webサービスを新規に作成してデプロイします。
  2. データ・バインド・アプリケーション・クライアントを作成するために、WebサービスをOracle ADFデータ・コントロールに登録します。
  3. Strutsページ・フローを作成し、JSPページまたはUIXページ「ViewController」プロジェクトに作成します。

Webサービスを使用するための追加情報

この項では、Oracle ADFアプリケーションでWebサービスを使用する方法の詳細を説明します。

アプリケーション・テンプレートまたはプロジェクトへのWebサービス・テクノロジ・スコープの追加

Oracle ADFフレームワークを使用して構築されたどのようなアプリケーションでも、次のものにWebサービス・テクノロジ・スコープを追加することによって、Webサービスを使用できます。

Webサービス・テクノロジをアプリケーション・テンプレートに追加するには、次のようにします。

  1. アプリケーション・ナビゲータで「アプリケーション」ノードを右クリックし、「新規アプリケーション・ワークスペース」を選択します。
  2. 「アプリケーション・ワークスペースの作成」ダイアログで、「テンプレートの管理」をクリックします。
  3. 使用するテクノロジ・スタックのテンプレートを選択し、プロジェクト(たとえばデータ・モデル・プロジェクト)から1つを選択します。
  4. 「使用可能なテクノロジ」リストで「Webサービス」を探し、「選択済のテクノロジ」リストに移動します。
  5. 「OK」をクリックすると、「アプリケーション・ワークスペースの作成」ダイアログに戻ります。編集したテンプレートが、「アプリケーション・テンプレート」フィールド内で選択されます。

Webサービス・テクノロジをプロジェクトに追加するには、次のようにします。

  1. アプリケーション・ナビゲータで、適切なプロジェクトを選択します。
  2. メイン・メニューから、「プロジェクト」->「プロジェクト・プロパティ」を選択するか、右クリックして「プロジェクト・プロパティ」を選択します。
  3. 「共通」ノードを開き、「テクノロジ・スコープ」を選択します。「使用可能なテクノロジ」リストで「Webサービス」を探し、「選択済のテクノロジ」リストに移動します。

埋込みサーバーでのWebサービスの実行

JDeveloperで作成したJ2EE Webサービスを使用する場合、デフォルトでは、WebサービスはOC4Jの外部インスタンスへの接続をエンドポイントとして使用します。ポート番号は8888が使用されます。Webサービスを外部OC4JインスタンスにデプロイしてからOracle ADFアプリケーションをテストする場合は、これ以上何も実行する必要はありません。

しかし、Webサービスを外部にデプロイせずにADFアプリケーションをテストする場合は、生成されるスタブのエンドポイントURLで、ポート番号8988を使用する必要があります。8988は、JDeveloperの埋込みOC4Jサーバーのポート番号です。

エンドポイントURLポート番号を変更するには、次のようにします。

  1. Webサービスを編集します。
  2. 「Java Webサービスの編集」ダイアログの「エンドポイント」ページで、「Webサービス・エンドポイント」のポート番号を8888から8988に変更します。
  3. 「OK」を押すと、Webサービスが再生成されます。ここで、Webサービス用のデータ・コントロールを生成します。このWebサービス用にすでにデータ・コントロールを生成している場合は、WSDLドキュメント内のサービス・エンドポイントに基づいて正確なエンドポイントURLが確実に作成されるように、データ・コントロールを再生成する必要があります。

モデル・プロジェクト用のビジネス・サービスの作成
Webサービス用のOracle ADFデータ・コントロールについて
Webサービス用のOracle ADFデータ・コントロールの作成

アプリケーションでのWebサービスの使用方法

 

Copyright © 1997, 2004, Oracle. All rights reserved.