Webサービスの構築

目的

このチュートリアルでは、Oracle JDeveloper 11gを使用して、一連の簡単なWebサービス・シナリオを作成します。 このチュートリアルは、JDeveloperのリリース11におけるWebサービスの新機能を簡単に紹介するものです。

このページを正しく実行するには、Internet Explorer 7またはFirefoxを使用してください。

トピック

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

概要
前提条件

POJOアノテーション・ドリブン・サービスの構築

宣言型のPOJO Webサービスの構築

既存のWSDLを使用したWebサービスの構築

アノテーション・ドリブンEJB Webサービスの構築

プロキシ生成を使用したサービス用クライアントの作成
Webサービス・データ・コントロールを使用したサービス用ADFクライアントの作成
まとめ

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

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

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

概要

ここでは、JDeveloperを使用したWebサービス開発の中心的なエンド・ツー・エンド・シナリオをいくつか示します。 これらのシナリオの目的は、Java EE 5 Webサービスのデモンストレーション(およびテスト)をおこなうことにあります。 具体的には、JAX-WS(Java API for XML Web Services)とアノテーションの処理をおこないます。 JAX-WSを使用して、別々のXMLデプロイメント・ディスクリプタを使用することなくJavaソースに直接アノテーションを入力できます。

JDeveloperの統合サーバーを使用して、Webサービスをテストします。

このOracle by Example(OBE)には、6つのWebサービス・シナリオが含まれます。 はじめの3つのシナリオでは、POJO Webサービスを作成します。それぞれのシナリオにおいて、アノテーション、宣言型開発、WSDLファイルの使用という異なるアプローチを使用します。 4番目のシナリオでは、EJB 3.0 Session Beanを使用してWebサービスを作成します。

そのあとのシナリオでは、クライアント側に焦点を当てます。 5番目では、Webサービス・プロキシとそれにアクセスする単純なクライアントを作成します。 6番目ではADFクライアントを作成して、Webサービスに基づいてデータ・コントロールを追加します。

 

トピック・リストに戻る

前提条件

JDeveloper 11gの起動
新規アプリケーションおよびプロジェクトの作成

トピック・リストに戻る

 

JDeveloper 11gの起動

次の手順で、JDeveloper 11g IDEを起動します。

1.

スタート」→「 すべてのプログラム」→「 Oracle WebLogic」→「 JDeveloper Studio 11.1.1.0.0」を選択して、JDeveloperを起動します。

 

2.

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

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

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

 

3.

JDeveloper IDEが表示されます。

 

トピックに戻る

トピック・リストに戻る

新規アプリケーションおよびプロジェクトの作成

1.

Application Navigator」タブを選択して「 New Application」をクリックします(または、「 File」→「 New」を選択してNew Galleryを開いてから、「 General」→「 Generic Application」を選択して新規アプリケーションを作成することもできます)。

 

2.

Create Applicationダイアログ・ボックスで、アプリケーション名として WebServiceを指定します。

Application Package Prefixプロパティは空白のままにします。

Next」をクリックします。

 

3.

プロジェクトに、 Annotationという名前をつけます。 各Webサービス・シナリオは、それぞれ別のプロジェクト内に作成します。 このプロジェクトは、アノテーションWebサービス・シナリオで使用します。

Project Technologiesタブで、AvailableリストからSelectedリストに「 Web Services」を移動します(これによって、Javaテクノロジーも選択されます)。

Finish」をクリックします。

 

4.

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

トピックに戻る

トピック・リストに戻る

POJOアノテーション・ドリブン・サービスの構築

Plain Old Java Object(POJO)の追加によるWebサービス・メソッドの追加
Webサービスのテスト

トピック・リストに戻る

Plain Old Java Object(POJO)の追加によるWebサービス・メソッドの追加

この項では、 入力値に何らかのテキストを加えて返すメソッドを含む単純なJavaクラスを作成します。 このクラス自体は、Webサービスとして定義するよう注釈されています。 さらに、Webサービスの一部としてメソッドを定義するアノテーションが含まれています。 この項では、コード・エディタ、プロパティ・インスペクタ、およびStructureウィンドウを使用して、メソッド・プロパティを変更する方法を示します。 コンパイルが終了して統合サーバーに配置されたら、WebサービスはHTTP Analyzerを使用して実行されます。HTTP Analyzerは、メソッドの結果を返します。

1.

アプリケーション・ナビゲータでJavaクラスを作成します。 「 Annotation」プロジェクトを右クリックして、「 New」を選択します。

 

2.

New Galleryで「 General」カテゴリを選択してから「 Java Class」項目を選択し、「 OK」をクリックします。

クラス名として HelloServiceを指定し、パッケージとして annotationを指定します。 残りのプロパティはデフォルトのままにします。

OK」をクリックしてクラスを作成し、コード・エディタで開きます。

 

3.

HelloServiceのクラス定義のあとに sayHello()という名のメソッドを追加し、入力文字列を受け入れて、入力文字列の値に連結された"Hello"を返すように指定します。

public String sayHello (String s) {
return "Hello " + s;
}

変更を 保存します。

 

4.

さらに、クラス定義の前に @WebService というアノテーションを追加します。 このアノテーションにより、クラスに含まれるメソッドがWebサービスによって使用されることが示されます。

 

5.

余白で クイック・ヒント(電球マーク)をクリックし、「 Configure project for web services」を選択します。

 

6.

Select Deployment Platformダイアログ・ボックスで、 Java EE 1.5, with support for JAX-WS Annotationsが選択されていることを確認し、「 OK」をクリックします。

この手順では、 javax.jws.WebServiceインポート文をJavaクラスに追加し、 web.xmlファイルを作成します。

 

7.

クラスに戻り、 sayHello()メソッドの前に2番目のアノテーションを作成します。 このアノテーションは、メソッドがWebサービスから使用されることを示します。 sayHello()メソッドの上に空白行を追加し、 @WebMethod と入力します。 使用できる構文がポップアップに表示されます。 「 WebMethod」を選択します。

import javax.jws.WebMethod;文を追加します。 クラスは次のイメージのようになります。

変更を保存します。

 

8.

プロパティ・インスペクタを使用して、クラスの特性を変更できます。 メニュー・バーから「 View」→「 Property Inspector」を選択すると、IDEの画面下部にプロパティ・インスペクタがタブとして表示されます。

注: IDEの別の位置にプロパティ・インスペクタが表示される場合、任意でタブをドラッグして下部のパネルにドロップできます。

 

9.

プロパティ・インスペクタのプロパティを表示するには、Structureウィンドウの下部の「 Source」タブを選択し、最上位レベルの「 HelloService」クラス名を選択します。

 

10.

プロパティ・インスペクタのウィンドウ左側にいくつかのフィンガー・タブが表示されます(プロパティ・インスペクタ・ウィンドウのサイズが十分な場合、展開可能な見出しである可能性があります)。 「 Web Services」タブを選択すると、Service Nameはクラス名に'Service'が追加されていることがわかります。 "HelloServiceService"というサービス名を変更する場合、ここで変更できます。この変更は、クラスに反映されます。

サービス名を HelloServiceに変更し、変更を保存します。

コード・エディタで、 @WebServiceアノテーションが更新されており、新しいサービス名を反映していることを確認できます。 反対に、コード・エディタでおこなった変更もプロパティ・インスペクタに同期されます。 この機能はメソッド・レベルでも使用できます。

ここまでで、クラスの作成と公開メソッドを含むWebサービスとしての定義が完了しました。 次に、Webサービスのテストをおこないます。

トピックに戻る

トピック・リストに戻る

Webサービスのテスト

この項では、 Webサービスのコンパイル、配置、およびテストをおこないます。 HTTP Analyzerは、Webサービスのテストをおこなうメカニズムです。 HTTP Analyzerを使用してWebサービスをテストする場合、サービスをコンパイルして統合サーバーに配置します。 次にアナライザを起動すると、Webサービスへの値の送受信が可能になります。

1.

Webサービスのテストをおこなう前に、ブラウザ設定が正しいことを確認します。

Tools」→「 Preferences」を選択し、左側のリストを下方向にスクロールして「 Web Browser and Proxy」ページを選択します。 Use HTTP Proxy Serverチェック・ボックスが選択されていないことを確認し、「 OK」をクリックします。

 

2.

アプリケーション・ナビゲータで「 HelloService.java」ノードを右クリックし、コンテキスト・メニューから「 Test Web Service」を選択します。

これにより、統合サーバーの起動とサービスの配置がおこなわれ、アナライザを開始します。 統合サーバーを初めて実行する場合、開始に数秒かかる場合があります。 初めてサービスのテストをおこなう場合、コンテンツのブロックに関するウィンドウが表示されることがあります。 コンテンツの表示を許可します。

 

3.

HTTP Analyzerエディタ・ウィンドウの上部にはWebサービスのURL、WSDL URL、および公開される操作が表示されます。

アナライザの下部は、リクエストとレスポンスの2つの領域に分かれています。 リクエスト領域には、使用されるメソッドの引数がすべて表示されます。 Webサービスが実行されると、レスポンス領域に結果が表示されます。

 

4.

リクエスト領域で、 arg0フィールドに < あなたの名前> を入力します。

アナライザの上部で「 Send Request」をクリックします。または、引数の下のSend Requestボタン「」をクリックします。

5.

アナライザによってサービスにリクエストが送信され、数秒後に戻りパラメータがレスポンス領域下部に表示されます。

トピックに戻る

トピック・リストに戻る

宣言型のPOJO Webサービスの構築

メソッドを含むJavaクラスの作成とWebサービスとしての公開
統合サーバー・コンテナを使用したWebサービスのテスト

トピック・リストに戻る

メソッドを含むJavaクラスの作成とWebサービスとしての公開

この項では、 前述の項と同様に、新規プロジェクトとJavaクラスを作成します。 このシナリオでは、アノテーションの代わりにウィザードを使用してWebサービスを作成します。 ウィザードにより、クラスをWebサービスとして使用するために必要なすべてのファイルとエントリが作成されます。

ウィザードの手順が終了したら、前項と同様にHTTP Analyzerを使用して、 統合サーバーを使用したWebサービスのテストをおこないます。 次に、Webサービスを統合サーバーの インスタンスに配置し、アナライザの代わりにブラウザを使用してサービスのテストをおこないます。

1.

新しい空のプロジェクトを作成します。 「 Annotation」プロジェクト・ノードを右クリックして、「 New」を選択します。次に、New Galleryで「 Generic Project」を選択します。 「 OK」をクリックします。

Create Projectダイアログで、プロジェクトに Wizardという名前をつけて、「 Finish」をクリックします。

 

2.

新しく作成したWizardプロジェクトで新規Javaクラスを作成し、 HelloServiceという名前をつけます。

デフォルトでは、パッケージ名はプロジェクト名と同じになります。 パッケージ名が wizardと指定されているか確認します。 残りの値はデフォルトのままにし、「 OK」をクリックしてコード・エディタを起動します。

 

3.

アノテーション・シナリオと同じsayHelloメソッドをクラスに追加します。 今回はアノテーションを追加しないでください。 変更を保存します。

public String sayHello (String s) {
return "Hello " + s;
}

この時点では、単語Helloのあとにパラメータとして入力された値を返す、非常にシンプルなビジネス・ロジックをもつクラスを作成したに過ぎません。

 

4.

アプリケーション・ナビゲータで「 HelloService.java」ノードを右クリックし、「 Create Web Service」を選択します。 これにより、Webサービスとしてクラスを作成するウィザードが起動します。

 

5.

Create Java Web ServiceウィザードのSelect Deployment Platformステップで、配置プラットフォームとして Java EE 1.5, with support for JAX-WS Annotationsが選択されていることを確認し、「 Next」をクリックします。

 

6.

ウィザードのGeneration Optionsステップで、Web Service Nameが MyWebService1であることを確認し、Port Nameを MyWebService1Portに設定します。 「 Next」をクリックします。

 

7.

Methodsステップには、公開できるすべてのメソッドが表示されます。 公開したいメソッドを選択します。 ここでは1つのメソッドしか表示されておらず、デフォルトで選択されているため、「 Next」をクリックします。

 

8.

残りのページでは、サービスをステートフルにするかどうかの決定、メッセージ形式と添付の配信方法の制御、サービスに必要な追加クラスの挿入、サービスのポリシーの構成、およびハンドラの詳細の定義を実行できます。 これらの値を変更しないので、いずれかのスクリーンで「 Finish」をクリックし、Webサービスを作成します。

クラス定義は更新され、Webサービスの公開に必要なアノテーションが追加されています。

すべての変更を保存します。

トピックに戻る

トピック・リストに戻る

統合サーバー・コンテナを使用したWebサービスのテスト

この項では、 Webサービスのコンパイル、配置、およびテストをおこないます。 前述の項と同様に、HTTP Analyzerを使用してWebサービスのテストをおこないます。 このアナライザを使用してWebサービスをテストする場合、サービスをコンパイルして統合サーバーに配置します。 次にアナライザを起動すると、Webサービスへの値の送受信が可能になります。

1.

アプリケーション・ナビゲータでWizardプロジェクトの「 HelloService.java」ノードを右クリックし、コンテキスト・メニューから「 Test Web Service」を選択します。

これにより、統合サーバーの起動とサービスの配置がおこなわれ、アナライザを開始します。 統合サーバーを初めて実行する場合、開始に数秒かかる場合があります。

 

2.

HTTP Analyzerエディタの上部にはWebサービスのURL、WSDL URL、サービス名、および公開される操作が表示されます。

エディタの下部は、リクエストとレスポンスの2つの領域に分かれています。 リクエスト領域には、使用されるメソッドの引数がすべて表示されます。 Webサービスが実行されると、レスポンス領域に結果が表示されます。

 

3.

リクエスト領域で、「 arg0」フィールドに <あなたの名前>を入力して、「 Send Request」をクリックします。

 

4.

アナライザによってサービスにリクエストが送信され、数秒後に戻りパラメータが表示されます。

 

5.

WSDLファイルからWebサービスを作成するための準備として、WSDLをファイルに保存します。 アプリケーション・ナビゲータで「 HelloService.java」クラスを右クリックして、「 Show WSDL for Web Service Annotations」を選択します。

 

6.

WSDLファイルの生成が開始されます。 設計エディタで MyWebService1.wsdlが表示されます。

エディタの下部の「 Source」タブをクリックして、XMLコードを表示します。

 

7.

メニューから「 File」→「 Save As...」を選択して、任意のディレクトリのファイルを保存します。

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

保存されたファイルは、統合サーバーに配置される内容を表します。

 

8.

MyWebService1.wsdlファイルを保存したディレクトリを検索し、Wordpadで開きます。

ファイルの確認後、ウィンドウを閉じます。

トピックに戻る

トピック・リストに戻る

既存のWSDLを使用したWebサービスの構築

WSDLを使用したWebサービスの作成
Webサービスのテスト

トピック・リストに戻る

WSDLを使用したWebサービスの作成

前述の2項では、アノテーションとウィザードを使用してWebサービスを作成しました。 ここでは、 既存のWSDLファイルからWebサービスを作成します。 使用するWSDLファイルは、前述の項でファイル・システムに保存したものです。

1.

新しい Generic Projectを作成して TopDownという名前をつけます。ほかの値はデフォルトのままにします。

 

2.

新しい「 TopDown」プロジェクトを右クリックして、「 New」を選択します。Categoriesリストの「 Business Tier」→「 Web Services」を選択します。 「 Java web Service from WSDL」項目を選択して、「 OK」をクリックします。

 

3.

Create Java Web Service from WSDLウィザードで、「 Next」をクリックしてWelcomeページをスキップします。

ウィザードのSelect Deployment Platformステップで、配置プラットフォームとして Java 1.5, with support for JAX-WS Annotationが選択されていることを確認し、「 Next」をクリックします。

 

4.

Select Web Service Descriptionステップで、Webサービスの作成に使用するソースWSDLを指定します。 「 Browse」をクリックし、保存したWSDLに移動します(例: MyWebService1.wsdl)。 ファイルを選択して、「 Open」をクリックします。

ファイル・パスがWSDL Document URLフィールドに表示されます。 「 Next」をクリックします。

 

5.

ウィザードで、残りのデフォルト値はそのまま受け入れます。

Finish」をクリックしてウィザードを終了するか、または「 Next」をクリックしてすべてのオプションを参照します。 次のスクリーンショットは、ウィザードの最終ページです。

 

6.

変更を保存します。 アプリケーション・ナビゲータにJava WebサービスとすべてのJavaファイルが表示されます。

 

7.

Webサービスはトップダウンで作成され、すべてのヘッダーが作成されているため、本体を提供する必要があります。 sayHelloメソッドを設定して、より適切な値を返すように設定します。 「 MyWebService1Impl.java」ファイルをダブルクリックして、エディタで開きます。

 

8.

"Hello " + arg0 を返すように変更します。 これにより、単語Helloとともに引数に入力された値が返されます。

すべての変更を保存します。

トピックに戻る

トピック・リストに戻る

Webサービスのテスト

この項では、 Webサービスのコンパイル、配置、およびテストをおこないます。 前述の項と同様に、HTTP Analyzerを使用して Webサービスのテストをおこないます。 このアナライザを使用してWebサービスをテストする場合、サービスをコンパイルして統合サーバーに配置します。 次にアナライザを起動すると、Webサービスへの値の送受信が可能になります。

1.

アプリケーション・ナビゲータで「 MyWebService1」ノードを右クリックし、コンテキスト・メニューから「 Test Web Service」を選択します。

これにより、統合サーバーの起動とサービスの配置がおこなわれ、アナライザを開始します。 統合サーバーを初めて実行する場合、開始に数秒かかる場合があります。

 

2.

HTTP Analyzerエディタの上部にはWebサービスのURL、WSDL URL、および公開される操作が表示されます。

エディタの下部は、リクエストとレスポンスの2つの領域に分かれています。 リクエスト領域には、使用されるメソッドの引数がすべて表示されます。 Webサービスが実行されると、レスポンス領域に結果が表示されます。

 

3.

リクエスト領域で、「 arg0」フィールドに <あなたの名前>を入力して、「 Send Request」をクリックします。

 

 

4.

次に、アナライザによってサービスにリクエストが送信され、しばらくすると戻りパラメータが表示されます。

トピックに戻る

トピック・リストに戻る

アノテーション・ドリブンEJB Webサービスの構築

EJB 3.0 Session Beanの新規プロジェクトの作成
Webサービスのテスト

トピック・リストに戻る

EJB 3.0 Session Beanの新規プロジェクトの作成

この項では、Session Beanを作成し、アノテーションを使用してこれをWebサービスとして実装します。

1.

新しい Generic Projectを作成して EJB-Annoという名前をつけます。ほかの値はデフォルトのままにします。

 

2.

EJB-Anno」プロジェクトを右クリックして、「 New」を選択します。 New Galleryで、Categoriesリストの「 Business Tier」ノードを開き、「 EJB」を選択します。 Itemsリストで「 Session Bean」を選択し、「 OK」をクリックします。

 

3.

新しいSession Beanウィザードで、 EJBバージョン名前、および クラス定義ページのデフォルトを受け入れます。

EJB Home and Component Interfacesページでは、いずれのインタフェースも実装しないでください。

Finish」をクリックするとBeanが作成されます。

 

4.

エディタで SessionEJBBean.javaファイルが開きます。 アノテーション・シナリオと同じ sayHello()メソッドを追加します。 今回はアノテーションを追加しないでください。 変更を保存します。

public String sayHello (String s) {
return "Hello " + s;
}

この時点では、単語Helloのあとにパラメータとして入力された値を返す、シンプルなビジネス・ロジックをもつクラスを作成したに過ぎません。

 

5.

クラス定義の上に @WebService アノテーションを追加し、左余白の電球マークをクリックして「 Configure project for web services」を選択して、 WebService (javax.jws)インポート文を生成します。

Select Deployment Platformダイアログ・ボックスで、「 Java EE 1.5, with support for JAX-WS Annotations」オプションを選択して、「 OK」をクリックします。

 

6.

POJOシナリオと同様に、sayHelloメソッドの上に @WebMethod アノテーションを追加し、インポート文を含めます。

すべての変更を保存します。

トピックに戻る

トピック・リストに戻る

統合サーバー・コンテナを使用したWebサービスのテスト

この項では、 Webサービスのコンパイル、配置、およびテストをおこないます。 前述の項と同様に、HTTP Analyzerを使用してWebサービスのテストをおこないます。 このアナライザを使用してWebサービスをテストする場合、サービスをコンパイルして統合サーバーに配置します。 次にアナライザを起動すると、Webサービスへの値の送受信が可能になります。

1.

アプリケーション・ナビゲータで「 SessionEJBBean.java」ノードを右クリックし、コンテキスト・メニューから「 Test Web Service」を選択します。

 

2.

HTTP Analyzerエディタの上部にはWebサービスのURL、WSDL URL、および公開される操作が表示されます。

 

3.

リクエスト領域で、「 arg0」フィールドに <あなたの名前>を入力して、「 Send Request」をクリックします。

 

4.

次に、アナライザによってサービスにリクエストが送信され、しばらくすると戻りパラメータが表示されます。

トピックに戻る

トピック・リストに戻る

プロキシ生成を使用したサービス用クライアントの作成

Webサービス・プロキシの作成
クライアントの作成とテスト

トピック・リストに戻る

Webサービス・プロキシの作成

この項では、ウィザードを使用して、Webサービスを呼び出すJavaプロキシを生成します。 完了したら、プロキシに接続してこれを使用するクライアントを作成します。

1.

新しい Generic Projectを作成して、 HelloClientという名前をつけます。

 

2.

クライアントを使用するには、HTTP Analyzerを起動して、いずれかのサービスに対して実行しておく必要があります。 実行されていない場合、「 Annotation」プロジェクトを開き、HTTP Analyzerで HelloServiceクラスをテストします。 稼動中であることを確認します。 (作成したWebサービスのうち、いずれを使用しても構いません。)

HTTP AnalyzerからURLをコピーします。

HTTP Analyzerタブを閉じないでください。

 

3.

プロキシを生成するには、 HelloClient」プロジェクトを右クリックして、「 New」を選択します。 New Galleryで、「 All Technologies」タブを選択します。

Categoriesリストの「 Business Tier」ノードを開き、「 Web Services」を選択します。 「 Web Service Proxy」項目を選択し、「 OK」をクリックします。

これにより、Create Web Service Proxyウィザードが起動します。

 

4.

Next」をクリックして、Welcomeページをスキップします。 Select Client Styleページで、「 JAX-WS Style」を選択します。

Next」をクリックします。

 

5.

Select Web Service Descriptionページで、WSDLサービスのロケーションを指定します。 WSDLを参照するには、URLを使用する方法とファイルを使用する方法の2つがあります。

URLを使用するには、HTTP Analyzerへ移動してURLをコピーします。 これをWSDL Document URLに貼りつけ、 "?wsdl"を追加します(例: http://localhost:7101/WebService-Annotation-context-root/HelloServicePort?wsdl)。 このURLを使用する場合、「 Copy WSDL into Project」をチェックする必要があります。

または、前述のとおり、ブラウズ・ボタンを使用してマシン上のWSDLファイルを探すこともできます(例: C:\temp\mywebservice1port.wsdl)。

Next」をクリックします。

 

6.

Specify Default Mapping Optionsで、「 Next」をクリックして、デフォルト値を受け入れます。

Port Endpointsで、「 Run against a service deployed to Integrated WLS」を選択します。

Next」をクリックします。

 

7.

ウィザードの残りのページでは、デフォルト値をそのまま受け入れます。 「 Next」をクリックして残りの手順を確認するか、「 Finish」をクリックしてプロキシを作成します。

 

8.

変更を保存します。 アプリケーション・ナビゲータで「 annotation」および「 HelloClientProxy」ノードを開きます。アプリケーション・ナビゲータは、次のイメージのようになります。

トピックに戻る

トピック・リストに戻る

クライアントの作成とテスト

この項では、 Webサービス・プロキシを起動するクライアントの役割を果たし、結果をメッセージ・ウィンドウに返すJavaクラスを作成します。

1.

「 annotation」パッケージを選択し、新規Javaクラスを作成します。

HelloClientという名前をつけ、「 Generate Main Method」チェック・ボックスを選択して「 OK」をクリックします。

 

2.

HelloClientクラスの main()メソッド内に、プロキシを呼び出すコードを追加します。

はじめにポートをインスタンス化し、次に結果を出力します。

HelloService myPort = new HelloService_Service().getHelloServicePort();
System.out.println(myPort.sayHello("Jeff"));

変更を 保存します。

 

3.

クライアントのテストをおこないます。 アプリケーション・ナビゲータで「 HelloClient.java」ファイルを右クリックし、 「 Run」を選択します。 (クライアントのリクエストを処理するには、HTTP Analyzerが起動されており実行中でなければなりません。 HTTP Analyzerを起動していない場合、Annotationプロジェクトへ戻り、「 HelloService.java」ファイルを右クリックしてから「 Test Web Service」を選択します。)

クライアントの結果は、 HelloCient.jpr -Logウィンドウで確認できます。 正しく実行された場合、 Hello Jeff と表示されます。

トピックに戻る

トピック・リストに戻る

Webサービス・データ・コントロールを使用したサービス用ADFクライアントの作成

Webサービス・データ・コントロールの作成
JSF JSPページの作成とWebサービスの追加

トピック・リストに戻る

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

この項では、 統合サーバーに配置したWSDLを使用して、データ・コントロールを作成します。 前述のシナリオのようにオリジナルのJavaコードがアプリケーションに含まれることはなく、配置WSDLからデータ・コントロールが作成されます。 データ・コントロールが作成されたら、すべてのADFクライアント・アプリケーションでこれを使用できます。

1.

新しい Generic Projectを作成して、 HelloClientADFという名前をつけます。

 

2.

データ・コントロールを作成し、Webサービスに対して公開します。 新しいプロジェクトで、 New Galleryを起動します。

Categoriesリストで、「 Business Tier」ノードを開き、「 Web Services」を選択します。 Itemsリストで「 Web Service Data Control」を選択し、「 OK」をクリックします。

 

3.

Create Web Service Data Controlウィザードの最初のステップで、データ・コントロールに HelloDCという名前をつけて、WSDL URL( http://localhost:7101/WebService-Annotation-context-root/HelloServicePort?wsdl )に貼りつけます。 URLをブラウザからコピーすることもできますが、 統合サーバー・インスタンスであることを確認する必要があります。

[Tab]キーを押すと、データ・コントロールを使用するWebサービスが表示されます。 WSDL内には1つのWebサービスしか含まれていないため、「 Next」をクリックします。

 

4.

Data Control Operationsページで、「 sayHello」メソッドをSelectedリストに移動します。 「 Next」に続き、「 Finish」をクリックします。

アプリケーション・ナビゲータは、次のイメージのようになります。

変更を保存します。

 

5.

アプリケーション・ナビゲータで「 Data Control」アコーディオンを開き、 HelloDCデータ・コントロールを表示します。

ここまでで、JSF JSPページを作成し、データ・コントロールを使用する準備が整いました。

トピックに戻る

トピック・リストに戻る

JSFページの作成とWebサービスの追加

この項では、 データ・コントロールから作成したフィールドを含み、結果をページに返すJSFページを作成します。

1.

HelloClientADFプロジェクトから New Galleryを起動します。 「 Web Tier」ノードを開き、「 JSF」サブノードを選択します。 Itemsリストで「 JSF Page」を選択します。

OK」をクリックします。

 

2.

ページに HelloClientADF.jspという名前をつけます。

OK」をクリックします。

 

3.

エディタでページが開かれたら、メソッドにデータ・コントロールを追加します。 このページはパラメータを受け入れ、Webサービスへの呼出しを実行し、結果を返します。

データ・コントロール・パレットで、「 HelloDC」データ・コントロールを開き、 sayHello(String)メソッドをページにドラッグします。

ドロップするとメニューが表示されます。 「 Methods」→「 JSF HTML Button」を選択します。

 

4.

Action Bindingウィンドウが開き、データ・コントロールとパラメータが表示されます。 デフォルト値のままにします。

OK」をクリックします。 これにより、操作を呼び出すボタンがページに追加されます。

 

5.

操作に対する入力を指定します。 データ・コントロール・パレットで、「 HelloDC」→「 sayHello(String)」→「 Parameters」ノードを開き、「 arg0」ノードを選択します。

これをページ上にドロップして、「 Texts」→「 JSF HTML Input Text」を選択します。

 

6.

Webサービスの結果を別のフィールドに表示します。 データ・コントロール・パレットから「 String」ノードをページ上にドラッグします。

これをページ上にドロップして、「 Texts」→「 JSF HTML Output Text」を選択します。

 

7.

ページは次のスクリーンショットのようになります。

 

8.

変更を保存し、ページを実行します。 ページを右クリックして、「 Run」を選択します。 ブラウザでページが実行され、統合サーバーのWebサービスと通信します。

 

9.

ページのテストをおこないます。 入力ボックスに値を入力し、「 sayHello」ボタンをクリックします。 出力フィールドに'Hello'メッセージが表示されます。

トピックに戻る

トピック・リストに戻る

まとめ

このチュートリアルでは、JDeveloper 11gのいくつかの機能について学習しました。

このチュートリアルで学習した内容は、以下のとおりです。

POJOアノテーション・ドリブン・サービスの構築

宣言型のPOJO Webサービスの構築

既存のWSDLを使用したWebサービスの構築

アノテーション・ドリブンEJB Webサービスの構築
プロキシ生成を使用したサービス用クライアントの作成

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