Webサービスはクライアントに対して、データやその他のサービスへの中立アクセスを提供します。JDeveloperを使用すると、さまざまな種類のWebサービスを素早く簡単に作成できます。

このチュートリアルでは4種類のWebサービス(POJOアノテーション・ドリブン・サービス、宣言型POJOサービス、既存のWSDL向けサービス、EJBサービス)を作成します。これらのシナリオの目的は、Java EE Webサービスのデモンストレーションとテストを行うことにあります。具体的には、JAX-WS(Java API for XML Web Services)とアノテーションの処理を行います。JAX-WSを使用することで、別々のXMLデプロイメント・ディスクリプタを使用することなく、Javaソースに直接アノテーションを入力できます。

チュートリアルの最後に、作成したWebサービスを消費するADFクライアント・アプリケーションを作成します。

目的 所要時間 アプリケーション

このチュートリアルでは、Webサービスの構築および消費方法について説明します。Webサービスを作成するためのエンド・ツー・エンドのシナリオをいくつか紹介します。Webサービスを開発した後で、これらのサービスを使用するクライアント・アプリケーションを作成します。

これから作成するアプリケーションの完成版を確認するには、「Download」ボタンをクリックして起動用アプリケーションのzipファイルをダウンロードし、任意の作業用フォルダに解凍してください。

4時間 WebService.zipのダウンロード
パート1:POJOアノテーション・ドリブン・サービスの構築
ここでは、必要なラボ・ファイルをインストールし、JDeveloperを起動した後で、起動用アプリケーションおよびプロジェクトを開きます。
ステップ1:環境の準備
  1. 起動用ラボ・ファイルをダウンロードし、一時フォルダ(d:\Tempなど)にWebService.zipファイルを保存します。

  2. WinZipなどのzipユーティリティを使用して、任意のフォルダにWebService.zipを解凍します。このチュートリアルでは、D:\WebServicePracticeフォルダを使用しました。

  3. JDeveloper 12.1.2を起動します。

  4. Migrate User Settingsダイアログが開いたら、「No」をクリックします。

  5. ロールを設定するよう指示されたら、「Studio Developer」を選択します。

    ロールの選択
  6. Tip of the Dayウィンドウが表示されたら、「Close」をクリックします。

  7. JDeveloper IDEが表示されます。Start Pageタブにマウスを合わせて「X」をクリックし、このタブを閉じます。

    JDeveloper IDE

  8. Application Navigator」タブを選択し、「Open Application」をクリックします(または、「File」→「Open」を選択します)。

    JDeveloperのオープン

  9. Open Applicationダイアログ・ボックスで、WebService.zipファイルを解凍したWebサービス用フォルダに移動し、「WebService.jws」を選択します。

    Open Applicationダイアログ

  10. Open」をクリックします。

  11. アプリケーションを移行するよう指示されたら「Yes」をクリックします。

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

    アプリケーション・ナビゲータ

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

ここではPlain Old Javaクラスを含むプロジェクトに、Webサービスとして公開するアノテーション付きメソッドを追加します。

Webサービス・アノテーションはJava EE 6の機能であり、Webサービスの作成とデプロイから複雑さを排除します。Webサービス・アノテーションを使用すると、POJO内でWebサービスを定義できます。このJava EE機能によって、WebサービスとWebサーバーに対する複雑な構成が不要になります。Java EEはデプロイ済みのクラスにイントロスペクションを実行し、即座にWebサーバーの構成を作成します。これにより、開発者は面倒なデプロイ細部から解放され、よりサービスに集中できるようになります。
  1. アプリケーション・ナビゲータで、「Annotation」プロジェクト・ノードを開き、POJOクラスを表示します。

    • Dept.javaは部門構造を表しています。

    • Emp.javaは従業員構造を表しています。

    • MyCompany.javaは、部門と従業員に関する情報を挿入します。

    Department、Employee、My Company のjavaクラスを表示したアプリケーション・ナビゲータ
  2. アプリケーション・ナビゲータで、「MyCompany.java」をダブルクリックして編集します。

    アプリケーション・ナビゲータ

  3. import文の後ろに@WebServiceアノテーションを追加します。WebServiceクラスに対するimportを選択するよう指示するプロンプトが表示されます。ポップアップから「javax.jws.WebService」を選択します。このアノテーションは、Webサービスによって使用されるメソッドがクラスに含まれることを示します。

    Javaエディタ・ウィンドウ

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

    Javaエディタ・ウィンドウで、Webサービスの構成を選択

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

    Select Deployment Platform

  6. OK」をクリックします。このステップでは、javax.jws.WebServiceのインポート文をJavaクラスに追加し(まだ追加されていない場合)、web.xmlファイルを作成します。
    アプリケーション・ナビゲータは、次のように表示されます。

    MyCompany.javaクラスのアイコンがWebServiceクラスを表すように変更され、web.xmlファイルがプロジェクトに追加されていることを確認します。

    web xmlを選択したアプリケーション・ナビゲータ

  7. Save AllSave Allをクリックして作業内容を保存します。

  8. コード・エディタでクラス下部までスクロールし、次のコード文を追加します。


    このループは、特定の部門で働いているすべての社員に関する情報を返します。
    ウィンドウ内のコードは次のように表示されます。

    メソッドが表示されたJavaエディタ

  9. getDeptInfo()メソッドの前に2番目のアノテーションを作成します。このアノテーションは、メソッドがWebサービスから公開されることを示します。getDeptInfo()メソッドの上に空白行を追加し、@WebMethodと入力します。コード・インサイトによって、使用可能な構文のリストがポップアップ表示されます。構文のリストから「WebMethod」を選択します。

    Javaエディタで、Webメソッドを追加

  10. 推奨リストが表示されたら、[Alt]を押しながら[Enter]を押して、import javax.jws.WebMethod;文を追加します(この文は自動的に追加される場合もあります)。

    クラスは、次のように表示されます。

    Javaエディタで、補完されたメソッド

  11. Save Allすべて保存をクリックして作業内容を保存します。

  12. プロパティ・インスペクタを使用して、クラスの特性を変更できます。メニュー・バーから「Window」→「Properties」を選択すると、IDEの画面下部にタブが表示されます。注:IDEの別の位置にプロパティ・インスペクタが表示される場合、任意でタブをドラッグして下部のパネルにドロップできます。

    View Property Inspectorの選択

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

    プロパティ・インスペクタ

  14. プロパティ・インスペクタに、展開可能なノードがいくつか表示されます。「JAX-WS」ノードを開くと、Service Nameのクラス名に'Service'が付加されていることがわかります。

  15. Service NameをMyCompanyWSに変更します。名前の変更がクラスに反映されたことを確認します。

    プロパティ・インスペクタ

  16. Save Allすべて保存をクリックして作業内容を保存します。

    以上で、POJO Webサービスの作成が完了しました。次のセクションでは、Webサービスのテストを行います。

ステップ3:Webサービスのテスト

この項では、HTTP Analyzerを使用してWebサービスのコンパイル、デプロイ、テストを行います。 JDeveloperには、HTTP Analyzerと呼ばれるWebサービスのテスト・メカニズムが含まれています。HTTP Analyzerを使用してWebサービスをテストする場合、JDeveloperによってサービスがコンパイルされ、統合Webサーバーにデプロイされます。次にアナライザが起動され、Webサービスに対する値の送受信が可能になります。

  1. Webサービスのテストを行う前に、ブラウザ設定が正しいことを確認します。「Tools」→「Preferences」を選択し、左側のリストを下方向にスクロールして「Web Browser and Proxy」ページを選択します。Proxy SettingsタブでNo Proxyが選択されていることを確認し、「OK」をクリックします。

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

    アプリケーション・ナビゲータで、Test Web Serviceを選択

    これにより、統合WebLogicサーバーの起動とサービスのデプロイが行われ、アナライザが開始されます。WebLogicサーバーを初めて実行する場合、開始に数秒かかる場合があります。初めてサービスのテストを行う場合、コンテンツの表示をブロックするかどうか確認を求められることがあります。その場合は、コンテンツの表示を許可してください。

  3. HTTP Analyzerエディタ・ウィンドウの上部にはWebサービスのURL、WSDL URL、および公開される操作が表示されます。リストから「MyCompanyPort.getDeptInfo(,)」操作を選択します。

    HTTP Analyzer

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

    HTTP Analyzerのリクエスト/レスポンス・ウィンドウ

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

    HTTP Analyzerのリクエスト/レスポンス・ウィンドウ

  5. アナライザのツールバー領域で「Send Request」をクリックします。または、引数の下の「Send Requestボタン」Send Requestボタンをクリックします。

    Send Requestボタン

  6. アナライザによってサービスにリクエストが送信され、数秒後に、指定した部門で働いている従業員に関する情報が返されます。

    結果が表示されたHTTP Analyzer

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

    Http AnalyzerのHTTP Content

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

    HTTP AnalyzerのRaw Message

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

    HTTP AnalyzerのWSDL URL

  10. Webサービスのビジュアル・エディタが開きます。Port Typesパネルで「getDeptInfo」→「input」→「getDeptInfo」ノードを開きます。

    HTTP AnalyzerのPort Types

  11. Port Typesパネルの左側で、Messagesの上にある小さなプラス記号をクリックし、メッセージのコンテンツを表示します。

    HTTP Analyzerに表示されたメッセージ

    選択したメッセージのフローが新たにグラフィカル表示されます。

    HTTP Analyzerに表示されたサービス・メッセージ

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

    すべてのウィンドウを閉じる

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

    アプリケーション・ナビゲータ

ブックマーク 印刷 すべて表示 | すべて非表示
トップへ戻る
Copyright c 2013, Oracle and/or its affiliates.All rights reserved.