Oracle JDeveloper 11gを使用したWebサービスからのデータ・コントロールの作成

目的

このチュートリアルでは、データ・コントロールとしてWebサー ビスを使用する方法と、Webサービスに定義されたメソッドを公開するJSFページを作成する方法を学習します。 公開されているサーバーに格納されるWebサービスを使用します。

所要時間

25分

トピック

このチュートリアルでは、以下の項について説明します。

 概要
 シナリオ
 前提条件
 Webサービス定義からのデータ・コント ロールの作成

データ・コントロールを使用したJSFページの作成

 ページの実行
 まとめ

スクリーンショットの表示

 このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロード し、表示されます。 (警告:この操作によって、同時にすべてのスクリーンショットがロードされるため、ご使用のインターネット接続によってはレスポンス時間が遅くなる場合が あります)。

注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの 上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。

概要

JDeveloperを構成して予想されるファイアウォールの外 側にあるWebサービスにアクセスしたあと、Webサービスに基づいだデータ・コントロールを作成します。 次に、Webサービスから作成されたデータ・コントロールを使用して、JSFページを作成します。

トピック・リスト に戻る

シナリオ

気象情報を返すWebサービス定義を格納するアクセス可能な公開 サーバーから、このWebサービスに基づいたデータ・コントロールを作成し、使用可能な操作の1つ(GetWeatherByZipCode)を選択しま す。 次に、JDeveloperで使用できるテンプレートでJSFページを作成し、ページでデータ・コントロールを使用します。 最後に、ページを実行し、郵便番号の値を設定してテストします。

 

トピック・リストに戻る

前提条件

このチュートリアルを始める前に次のことを確認してください。

 必要なコンポーネントのダウンロード とJDeveloper 11gの起動
 Webサービス定義の確認
 新規アプリケーションの作成

トピック・リストに戻る

必要なコンポーネントのダウ ンロードとJDeveloper 11gの起動

以下の手順で、JDeveloper 11gとこのチュートリアルで必要なそのほかのファイ ルをダウンロードします。

1.

Oracle JDeveloper 11g製品版にアクセスできるか、または インストール済みである必要があります。 この製品は、 Oracle Technology Networkからダウンロードできます。

 

2.

この リ ンクを右クリックしてコンテキスト・メニューから「 対象をファイルに保存」を選択し、 WeatherForecast.asmx ファイルを任意のローカ ル・ディレクトリ(temp)にダウンロードします。

 

3.

JDeveloperを起動します。 解凍先のルート・ディレクトリ( <jdev_home> ) にあるJDeveloperの実行可能ファイル「 jdeveloper.exe 」 をダブルクリックします。

Migrate User Settingsダイアログ・ボックスが開いたら、「 NO」 をクリックします。

ユーザー・ロールを設定するよう指示されたら、「 Default」 を選択します。

Tip of the Dayウィンドウを 閉じます

 

4.

JDeveloper IDEが表示されます。

トピックに戻る

トピック・リストに戻る

Webサービス定義の確認

データ・コントロールとしてWebサービスを使用する前に、内容 を確認します。 以下の手順に従います。

1.

WeatherForecast.asmxファイル をダウンロードしたディレクトリを探し、右クリックしてコンテキスト・メニューから「 Open With」→「 Notepad」 を選択します。

 

2.

メモ帳で、ファイルの内容を確認します。 ファイルの下部で、Webサービス名が WeatherForecastで あることを確認します。

 

3.

サービスのバインディング名は、 WeatherForecastSoapです。2つの操作( GetWeatherByZipCodeお よび GetWeatherByPlaceName)があります。

 

4.

GetWeatherByZipCode操作要素の説明を検索します。

5.

操作( WeatherForecastおよび WeatherData) によって返される変数のグループを確認します。 WeatherData変数の名前を確認します。 これらの変数は、 GetWeatherByZipCode操作とともにチュートリアルの後半で使用されます。

メモ帳のウィンドウを閉じます。

トピックに戻る

トピック・リストに戻る

新規アプリケーションの作成

ファイアウォール内で操作している場合、Webサービスを格納す る外部サーバーにアクセスするためにWeb Proxyパラメータを設定する必要があります。 その後新規アプリケーションを作成できます。 以下の手順に従います。

1.

Web Proxyパラメータを設定するには、メイン・メニューから「 Tools」→「 Preferences...」 を選択します。

 

2.

ファイアウォールを経由するには、Preferencesウィンドウ内の左側のナビゲータ・ペインで「 Web Browser and Proxy」を選択します。 「 Use HTTP Proxy Server」 チェック・ボックスを選択して、プロキシ・サーバーのホスト名を入力します。

Host Name (例) my-proxy.mydomain.com
Port Number 80
Exceptions localhost|127.0.0.1

OK」をクリックします。

 

3.

アプリケーション・ナビゲータで「 New Application」をクリックします。

 

4.

Create Applicationダイアログで、アプリケーション名に WSDC_Appを入力 し、Application Templateの項目から「 Fusion Web Application (ADF)」 を選択します。

Finish」をクリックします。

 

5.

アプリケーション・ナビゲータは、次のように表示されます。

 

6. JDeveloperメニュー・バーの Save Allアイコン「  」をクリックするか、「 File」→「 Save All」を選択します。

トピックに戻る

トピック・リストに戻る

Web サービス定義からのデータ・コントロールの作成

Webサービス定義からデータ・コントロールを作成するには、以下の手順を実行します。

1.

アプリケーション・ナビゲータで、「 Model」プロジェクトを右クリックして、コンテキスト・メ ニューから「 New」を選択します。

 

2.

New Galleryで「 All Technologies」タブを選択し、「 Business Tier」→「 Web Services」カテゴリを選択します。次に、「 Web Service Data Control」項目をダブルクリックして、Create Web Service Data Controlウィザードを起動します。

 

3.

Create Web Service Data Controlダイアログで、次の値を入力します。

Name weather
URL http://www.webservicex.net/WeatherForecast.asmx?WSDL

[Tab]キーをクリックして、WSDLドキュメントを確認するためにJDeveloperをサー バーに接続します。

 

4.

サーバーにドキュメントが存在する場合、Service情報が提供されます。

Next」をクリックします。


5.

使用可能な操作のリストで、「 GetWeatherByZipCode」を選択し、 追 加ボタン「  」 をクリックしてSelectedリストに移動します。

Next」をクリックします。

 

6.

ウィザードの Finishステップになるまで、「 Next」を クリックします。 データ・コントロールの説明を確認します。

次に、「 Finish」をクリックします。

 

7.

アプリケーション・ナビゲータは、次のように表示されます。

 

8.

Data Control」アコーディオンを開き、「 GetWeatherByZipCode」 →「 Parameters」ノードを開きます。 GetWeatherByZipCode(String)メソッ ドの Zip Codeパラメータを確認します。

 

9. JDeveloperメニュー・バーの Save Allアイコン「  」をクリックするか、「 File」→「 Save All」を選択します。

トピック・リストに戻る

デー タ・コントロールを使用したJSFページの作成

ここでは、Webサービスから作成されたデータ・コントロールを使用するJSFページを作成します。

1.

アプリケーション・ナビゲータで、「 Model」プロジェクト・ノードを閉じて、「 ViewController」 を右クリックして、コンテキスト・メニューから「 New」を選択します。

 

2.

New Galleryで、「 Web Tier」→「 JSF」 カテゴリを選択し、Itemsリストから「 JSF Page」を選択します。

OK」をクリックします。

 

3.

Create JSF Pageダイアログで、ファイル名として WeatherReportを入力 します。 Use Page Templateフィールドでリストから「 /oracle/templates/threeColumnTemplate.jspx」 を選択し、「 Create as XML Document (*.jspx)」を選択します。

OK」をクリックします。

 

4.

エディタにテンプレート・ページの内容を表示する新しいページが開きます。

 

5.

右端の列(「 end」列)を右クリックして、コンテキスト・メニューから「 Delete」 を選択します。

 

6.

Data Controlsアコーディオンを開き、「 weather」→「 GetWeatherByZipCode(String)」 操作を選択して、 start列にドラッグ・アンド・ドロップします。

コンテキスト・メニューから「 Parameters」→「 ADF Parameter Form...」を選択します。

 

7.

Edit Form Fieldsダイアログで、「 OK」をクリックして、デフォルト値を受け入れ ます。

Edit Action Bindingダイアログで、「 OK」をクリックして、デフォルト値を受 け入れます。

 

8.

構造ペインで「 inputText」コンポーネントを選択し、Propertyウィンドウで Enter Zip Codeと入力して既存のラベルを置き換えます。

 

9.

Data Controlsペインから「 weather」→「 Return」 →「 GetWeatherByZipCodeResult」→「 Details」 ノードを開き、「 WeatherData」をドラッグしてcenterファセットにドロップします。

コンテキスト・メニューから「 Table」→「 ADF Read-only Table...」を選択します。

 

10.

Edit Table Columnsダイアログで「 Sorting」チェック・ボックスを選択し ます。

OK」をクリックします。

 

11.

ページ・デザインは次のように表示されます。

 

12.

WeatherImageフィールドはデフォルトで生成されるようなoutputTextフィールドではなくイメージなので、変換する 必要があります。 WeatherImage列のいずれかのセルを右クリックして、コンテキスト・メニューから「 Convert」 を選択します。

Convertダイアログで、「 Image」を選択して、「 OK」 をクリックします。

Confirm Convertダイアログで、「 OK」をクリックします。

 

13.

新しいImageコンポーネントには、Propertyペインで「 Source」フィールドを選択 し、リストから「 Expression Builder」を選択します。

 

14.

Expression Builderダイアログで、「 JSP Objects」→「 Row」 ノードを開き、「 WeatherImage」を選択して式を作成します。

OK」をクリックします。

 

15. JDeveloperメニュー・バーの Save Allアイコン「  」をクリックするか、「 File」→「 Save All」を選択します。

トピック・リストに戻る

ページの実行

WeatherReportページを実行するには、以下の手順を実行します。

1.

ページを実行する前にプロパティを設定して、アプリケーションを起動したときに郵便番号を設定してからWebサービスを呼び出すように します。
WeatherReportページのエディタに戻って「 Bindings」タブをクリックし、 Executablesボッ クスで「 GetWeatherByZipCodeIterator」を選択します。

 

2.

プロパティ・インスペクタの Advancedセクションで、 GetWeatherByZipCodeIteratorの「 RefreshCondition」フィールドをクリッ クし、リストから「 Edit」を選択します。

 

3.

Edit Propertyダイアログで、「 JSF Managed Beans」→「 adfFacesContext」 を開き、「 initialRender」を選択します。

OK」をクリックします。

 

4.

エディタの「 Design」タブをクリックして、Designビューに戻ります。次に、ページ内を 右クリックして、コンテキスト・メニューから「 Run」を選択します。

 

5.

ブラウザ・ウィンドウにページがロードされます。 リモート・サーバーにアクセスしているので、ページが表示されるまでこの操作に時間がかかる場合があります。

 

6.

Zip Codeフィールドで、有効な米国の郵便番号を入力します。 (例: 94065

 

7.

エラー・ウィンドウで、「 OK」をクリックします。

 

8.

指定された郵便番号地域の今後数日の天気予報がページに表示されます。

 

9.

列の サイズ変更や任意の列の昇順または降順の ソートを試しま す。

 

10.

任意の新しい郵便番号で試して、アプリケーションを終了します。

これでこのチュートリアルは完了です。

トピック・リストに戻る

まとめ

このチュートリアルでは、データ・コントロールとしてWebサービスを使用する方法を確認しました。

 WebサービスのXMLファイルの内容の確認
 Webサービスに基づいたデータ・コントロールの作成
 JSFページの作成
 JSFページでのデータ・コントロール操作の使用

トピック・リストに戻る

 このアイコンの上にカーソルを置くと、すべてのスクリーンショットが非表示になります。