詳細表示
-
実習用ファイルをダウンロードして、このチュートリアルで使用するディレクトリ(d:\Tempなど)にWebService.zipファイルを保存します。

-
ファイルを保存したディレクトリを開き、「WebService.zip」を右クリックしてファイルを抽出します。 WinZipまたは任意のZIPユーティリティを使用してください。
-
「スタート」→「プログラム」→「Oracle Fusion Middleware 11.1.2.0.0」→「JDeveloper Studio 11.1.2.0.0」を選択して、JDeveloperを起動します。
-
Migrate User Settingsダイアログが開いたら、「No」をクリックします。
-
ユーザー・ロールを設定するよう尋ねられたら、「Default Role」を選択します。
-
Tip of the Dayウィンドウが表示された場合は、「Close」をクリックします。
-
JDeveloper IDEが表示されます。 タブ上にマウスを移動してタブの「X」をクリックし、Start Pageを閉じます。
-
「Application Navigator」タブを選択し、「Open Application」をクリックします(または、「File」→「Open」を選択します)。

-
Open Applicationダイアログ・ボックスで、WebService.zipファイルを解凍した際に作成されたWebServiceディレクトリへ移動し、「WebService.jws」を選択します。

-
「Open」をクリックします。
次のようなアプリケーション・ナビゲータが表示されます。

この項では、Plain Old Javaクラスを格納するプロジェクトから始めて、Webサービスとして公開する、アノテーション付きのメソッドを追加します。
詳細表示
-
アプリケーション・ナビゲータで、「Annotation」プロジェクト・ノードを展開してPOJOクラスを表示します。
-
Dept.javaには部門構造体が記述されます。
-
Emp.javaには従業員構造体が記述されます。
-
MyCompany.javaは、部門と従業員に関する情報を移入します。
-
-
アプリケーション・ナビゲータで、MyCompany.javaをダブルクリックして編集します。

-
インポート文の後に@WebServiceアノテーションを追加します。IDEはWebServiceクラスのインポートを追加します。
このアノテーションは、Webサービスによって使用されるメソッドがクラスに含まれることを示します。

-
エディタの余白でクイック・ヒント(電球マーク)をクリックし、「Configure project for web services」オプションを選択します。

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

-
「OK」をクリックします。この手順では、javax.jws.WebServiceインポート文をJavaクラスに追加し(まだ追加されていない場合)、web.xmlファイルを作成します。
アプリケーション・ナビゲータは、次のように表示されます。
MyCompany.javaクラスのアイコンがWebServiceクラスを表すように変更され、web.xmlファイルがプロジェクトに追加されていることを確認します。

-
「
」Save Allをクリックして作業内容を保存します。 -
コード・エディタで、クラスの一番下までスクロールし、次のコード文を追加します。
public Dept getDeptInfo (int id) {
for (Dept a: this. getMyDepts() ) {
if (a.getId() == id) {
return a;
}
}
return null;
}
このループは、特定の部門で働いているすべての社員に関する情報を返します。
次のようにコードがエディタ・ウィンドウに表示されます。
-
getDeptInfo()メソッドの前に2番目のアノテーションを作成します。このアノテーションは、メソッドがWebサービスから公開されることを示します。getDeptInfo()メソッドの上に空白行を追加し、@WebMethodと入力します。コード・インサイトによって、使用可能な構文のリストがポップアップ表示されます。リストから「WebMethod」を選択します。
-
提示された場合は、[Alt]を押しながら[Enter]キーを押して、import javax.jws.WebMethod;文を追加します(ただし、この文は自動で追加される場合があります)。
これで、クラスは次のように表示されます。
-
「
」Save Allをクリックして作業内容を保存します。 -
プロパティ・インスペクタを使用して、クラスの特性を変更できます。メニュー・バーから「View」→「Property Inspector」を選択すると、IDEの画面下部にプロパティ・インスペクタがタブとして表示されます。
注:IDEの別の位置にプロパティ・インスペクタが表示される場合、任意でタブをドラッグして下部のパネルにドロップできます。

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

-
プロパティ・インスペクタのウィンドウの左側にいくつかのフィンガー・タブが表示されます。「Web Services」タブを選択すると、Service Nameのクラス名に'Service'が追記されていることがわかります。
-
サービス名をMyCompanyWSに変更します。 名前の変更がクラスに反映されていることを確認します。

-
「
」Save Allをクリックして作業内容を保存します。
POJO Webサービスが作成されました。次の項では、Webサービスをテストします。
詳細表示 -
Webサービスのテストを行う前に、Webブラウザ設定が正しいことを確認します。「Tools」→「Preferences」を選択し、左側のリストを下方向にスクロールして「Web Browser and Proxy」ページを選択します。Use HTTP Proxy Serverチェック・ボックスが選択されていないことを確認し、「OK」をクリックします。
-
アプリケーション・ナビゲータで、「MyCompany.java」ノードを右クリックして、コンテキスト・メニューで「Test Web Service」を選択します。
このオプションで統合WebLogic Serverが起動し、サービスをデプロイし、アナライザが起動します。WebLogic Serverを初めて実行する場合は、開始に数秒かかる場合があります。初めてサービスのテストを行う場合、コンテンツの表示をブロックするかどうか確認を求められることがあります。その場合は、コンテンツの表示を許可してください。 -
HTTP Analyzerエディタ・ウィンドウの上部にはWebサービスのURL、WSDL URL、および公開される操作が表示されます。 リストから「MyCompanyPort.getDeptInfo(,)」操作を選択します。
アナライザの下部は、リクエストとレスポンスの2つの領域に分かれています。 リクエスト領域には、公開メソッドのすべての引数が表示されます(この場合は1つのみ)。Webサービスを実行すると、レスポンス領域に結果が表示されます。

-
リクエスト領域で、arg0フィールドに部門番号(10、20、または30)を入力します。

-
アナライザのツールバー領域で「Send Request」をクリックします。または、引数の下の「
」Send Requestボタンをクリックします。
-
アナライザによってサービスにリクエストが送信され、数秒後に、指定した部門で働いている従業員に関する情報が返されます。

-
エディタ下部の「HTTP Content」タブをクリックして、xmlコードを確認します。

-
エディタの下部の「Raw Message」タブをクリックして、コードを別の方法で表示します。

-
エディタ下部の「SOAP Structure」タブをクリックして、HTTP Analyzerの上部で「WSDL URL」リンクをクリックします。

-
Webサービスのビジュアル・エディタが開きます。 Port Typesパネルで「getDeptInfo」→「input」→「getDeptInfo」ノードを展開します。
-
Port Typesパネルの左側で、Messagesの上部にある小さな「+」記号をクリックすると、メッセージの内容が表示されます。
選択したメッセージのフローがグラフィカル表示されます。

-
エディタ・ウィンドウの任意のタブを右クリックして、「Close All」オプションを選択します。

-
アプリケーション・ナビゲータで「Annotation」プロジェクト・ノードを閉じます。

すべて表示 | すべて非表示

パート2:宣言型のPOJO Webサービスの構築
