任意のJavaメソッドをWebサービスとして公開できます。 JDeveloperには、Javaクラスとそのメソッドを取得して、そのクラスからWebサービスを作成するウィザードがあります。
この項では、前述の項と同様に、新規プロジェクトとJavaクラスを作成します。このシナリオでは、アノテーションを手動で追加してWebサービスを作成するのではなく、ウィザードを使用します。ウィザードにより、クラスをWebサービスとして使用するために必要なすべてのアノテーションが作成されます。ウィザードの手順が終了したら、前項と同様にHTTP Analyzerを使用して、統合サーバーを使用したWebサービスのテストを実施します。
-
新しい空のプロジェクトを作成します。「Annotation」プロジェクト・ノードを右クリックして、「New」を選択します。 New Galleryで「All Features」タブをクリックして、Categoriesリストから「General」→「Projects」を選択し、Itemsリストから「Custom Project」を選択します。 「OK」をクリックします。

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

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

-
New Galleryで「All Features」タブを選択し、Categoriesリストから「General」を選択し、Itemsリストから「Java Class」を選択して、新しいJavaクラスを作成します。

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

-
クラスに次のメソッドを追加します。
public String sayHello (String s) {
return "Hello " + s;
}
-
「
」Save Allをクリックして作業内容を保存します。
この時点では、Helloという単語のあとに引数の値を返す、非常にシンプルなビジネス・ロジックを持つクラスを作成したに過ぎません。
-
アプリケーション・ナビゲータで「HelloService.java」ノードを右クリックし、「Create Web Service」を選択します。 これで、Webサービスとしてクラスを作成するためのウィザードが起動します。
-
Create Java Web ServiceウィザードのSelect Deployment Platformステップで、デプロイメント・プラットフォームとして「Java EE 1.5, with support for JAX-WS Annotations」が選択されていることを確認します。
-
「Next」をクリックします。
-
ウィザードのGeneration Optionsステップで、Web Service NameにMyWebService1と入力し、Port NameがMyWebService1Portに設定されていることを確認します。

-
「Next」をクリックします。
-
ウィザードのMessage Formatステップで、「SOAP 1.2 Binding」オプションを選択します。

-
「Next」をクリックします。
-
ウィザードのMethodsステップでは、公開可能なすべてのメソッドが表示されるため、公開するメソッドを選択できます。 この例では1つしかないため、デフォルトで選択されています。残りのページでは、サービスに必要な追加クラスの指定、サービスのポリシーの構成、ハンドラの詳細の指定を行います。
これらの値は変更しないので、いずれかのスクリーンで「Finish」をクリックし、Webサービスを作成します。

-
クラス定義は更新され、Webサービスの公開に必要なアノテーションが追加されています。ポート名がMyWebService1Portに設定されていることを確認します。この名前になっていない場合はエディタで変更します。

-
「
」Save Allをクリックして作業内容を保存します。
この項では、Webサービスのコンパイル、デプロイ、およびテストを行います。前述の項と同様に、HTTP Analyzerを使用してWebサービスのテストを行います。HTTP Analyzerを使用してWebサービスをテストする場合、サービスは自動でコンパイルされ、統合サーバーにデプロイされます。これでアナライザが起動し、Webサービスとの値の送受信が可能になります。
-
アプリケーション・ナビゲータでWizardプロジェクトの「HelloService.java」ノードを右クリックし、コンテキスト・メニューから「Test Web Service」を選択します。
これで統合サーバーの起動とサービスのデプロイが実行され、アナライザが起動します。 統合サーバーを初めて実行する場合、開始に数秒かかる場合があります。
前項と同じく、HTTP Analyzerエディタの上部にはWebサービスのURL、WSDL URL、および公開される操作が表示されます。
-
リクエスト領域で、arg0フィールドに<あなたの名前>を入力し、「Send Request」をクリックします。
アナライザによってサービスにリクエストが送信され、数秒後に戻りパラメータが表示されます。
これで、JDeveloperのウィザードを使用して、Webサービスに使用するJavaクラスにアノテーションを付けました。 これはWebサービスを作成するボトムアップ・アプローチの例です。 Javaクラスを作成してから、そのクラスをWebサービスとして使用できるようにしました。 場合によっては、使用するWebサービスがすでにある場合もあります。 これはトップダウン・アプローチの例です。 このチュートリアルの次の項では、既存のWebサービスを使用する方法を説明します。 -
WSDLファイルからWebサービスを作成する次のタスクの準備として、WSDLを生成してファイルに保存します。 ナビゲータで「HelloService.java」クラスを右クリックして、「Show WSDL for Web Service Annotations」を選択します。
WSDLファイルの生成が開始し、MyWebService1.wsdlが設計エディタに表示されます。 ノードを展開して選択し、フローをビジュアル表示できます。

-
「Imports」をクリックして、WSDLが使用する他のアーチファクトを確認します。 この場合は、MyWebService1_schema1.xsdを使用しています。
-
ドロップダウン・リストから「MyWebService1_schema1.xsd」を選択します。
-
ビジュアル・エディタ・ウィンドウにスキーマ・ドキュメントが開き、定義された要素の関係が表示されます。

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

-
「MyWebService1.wsdl」タブを選択して、MyWebService1_schema1.xsdファイルと同じディレクトリにファイルを保存します。
-
MyWebService1.wsdlファイルを保存したディレクトリを検索して、WordPadまたは任意のテキスト・エディタでファイルを開きます。

-
ファイルを確認したら、テキスト・エディタのウィンドウを閉じます。
-
エディタ内ですべてのタブを閉じて、アプリケーション・ナビゲータで「Wizard」ノードを閉じます。

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