おすすめコンテンツ
このチュートリアルでは、データ・コントロールとしてWebサー ビスを使用する方法と、Webサービスに定義されたメソッドを公開するJSFページを作成する方法を学習します。 公開されているサーバーに格納されるWebサービスを使用します。
所要時間
25分
このチュートリアルでは、以下の項について説明します。
| |
概要 |
| |
シナリオ |
| |
前提条件 |
| |
Webサービス定義からのデータ・コント ロールの作成 |
| |
|
| |
ページの実行 |
| |
まとめ |
このアイコンの上にカーソルを置くと、すべてのスクリーンショットがロード し、表示されます。 (警告:この操作によって、同時にすべてのスクリーンショットがロードされるため、ご使用のインターネット接続によってはレスポンス時間が遅くなる場合が あります)。
注:各手順に関連したスクリーンショットのみを表示する場合は、それぞれの手順にあるアイコンの 上にカーソルを置いてください。 スクリーンショットをクリックすると、非表示になります。
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サービスを使用する前に、内容 を確認します。 以下の手順に従います。
| 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」 チェック・ボックスを選択して、プロキシ・サーバーのホスト名を入力します。
「 OK」をクリックします。
|
||||||
| 3. |
アプリケーション・ナビゲータで「 New Application」をクリックします。
|
||||||
| 4. |
Create Applicationダイアログで、アプリケーション名に WSDC_Appを入力 し、Application Templateの項目から「 Fusion Web Application (ADF)」 を選択します。 「 Finish」をクリックします。
|
||||||
| 5. |
アプリケーション・ナビゲータは、次のように表示されます。
|
||||||
| 6. | JDeveloperメニュー・バーの
Save Allアイコン「
|
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ダイアログで、次の値を入力します。
[Tab]キーをクリックして、WSDLドキュメントを確認するためにJDeveloperをサー バーに接続します。
|
||||
| 4. |
サーバーにドキュメントが存在する場合、Service情報が提供されます。 「 Next」をクリックします。 |
||||
| 5. |
使用可能な操作のリストで、「
GetWeatherByZipCode」を選択し、
追 加ボタン「
「 Next」をクリックします。
|
||||
| 6. |
ウィザードの Finishステップになるまで、「 Next」を クリックします。 データ・コントロールの説明を確認します。 次に、「 Finish」をクリックします。
|
||||
| 7. |
アプリケーション・ナビゲータは、次のように表示されます。
|
||||
| 8. |
「 Data Control」アコーディオンを開き、「 GetWeatherByZipCode」 →「 Parameters」ノードを開きます。 GetWeatherByZipCode(String)メソッ ドの Zip Codeパラメータを確認します。
|
||||
| 9. | JDeveloperメニュー・バーの
Save Allアイコン「
|
ここでは、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アイコン「
|
WeatherReportページを実行するには、以下の手順を実行します。
| 1. |
ページを実行する前にプロパティを設定して、アプリケーションを起動したときに郵便番号を設定してからWebサービスを呼び出すように します。
|
| 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ページでのデータ・コントロール操作の使用 |