ヘッダーをスキップ
Oracle SOA Suiteチュートリアル
10g (10.1.3.1.0)
B31831-01
  目次へ
目次

前へ
前へ
 
次へ
次へ
 

5 CreditServiceプロジェクトの作成

この章では、CreditServiceプロジェクトの作成方法について説明します。 項目は次のとおりです。

5.1 CreditServiceプロジェクトの概要

CreditServiceプロジェクトでは、顧客のクレジット・カードが有効かどうかが確認されます。 このSOA Order Bookingアプリケーションでは、コードによって、単純にクレジット・カード番号の値が確認されます。 クレジット・カード番号が12345678未満の場合、そのカードは無効です。 それ以外の場合は有効です。

CreditServiceプロジェクトは、トップダウン方法で開発します。WSDLから開始し、このWSDLファイルを使用してJavaクラスを生成します。 これとは逆に、RapidServiceはボトムアップ方法で開発します。Javaクラスから開始し、そのJavaクラスからWSDLファイルを開発します。

CreditServiceプロジェクトのWSDLファイルには、ハードコードされた値のlocalhost:8888が含まれていることに注意してください。 次の条件に一致する場合は、これらの値を変更する必要があります。

5.2 CreditService用の新規プロジェクトの作成

最初に、JDeveloperでCreditService用の新規プロジェクトを作成します。手順は次のとおりです。

  1. 「SOADEMO」アプリケーションを右クリックし、「新規プロジェクト」を選択します。

  2. 新規ギャラリの「カテゴリ」セクションで、「General」を開き、「Projects」を選択します。 「項目」セクションで、「空のプロジェクト」を選択します。

    図5-1 CreditServiceプロジェクト用の新規ギャラリ

    図5-1の説明は次にあります。
    「図5-1 CreditServiceプロジェクト用の新規ギャラリ」の説明

    「OK」をクリックします。

  3. 「プロジェクトの作成」ダイアログで、「プロジェクト名」フィールドに「CreditService」と入力します。

    図5-2 CreditServiceに関する「プロジェクトの作成」ダイアログ

    図5-2の説明は次にあります。
    「図5-2 CreditServiceに関する「プロジェクトの作成」ダイアログ」の説明

    「OK」をクリックします。

    アプリケーション・ナビゲータで、SOADEMOアプリケーションの下に空のCreditServiceプロジェクトが表示されていることを確認します。

  4. 「ファイル」→「保存」の順に選択して、作業内容を保存します。

5.3 WSDLファイルのコピー

プロジェクト・タイプを定義し、WSDLファイルを、soademo_101310_prod.zipファイルからCreditServiceディレクトリにコピーします。

  1. 「CreditService」プロジェクトを右クリックし、「新規」を選択します。

  2. 「新規ギャラリ」ダイアログの「カテゴリ」セクションで、Business Tierを開き、「Web Services」を選択します。 「項目」セクションで、「WSDLドキュメント」を選択します。

    図5-3 WSDLファイルを設定するための新規ギャラリ

    図5-3の説明は次にあります。
    「図5-3 WSDLファイルを設定するための新規ギャラリ」の説明

    「OK」をクリックします。 「WSDLドキュメントの作成」ダイアログが起動します。

  3. 「WSDLドキュメントの作成」ダイアログで、次の操作を実行します。

    • WSDL名: 「CreditService」と入力します。

    • ディレクトリ名: デフォルト(SOADEMO¥CreditService¥src)をそのまま使用します。

    • ターゲット・ネームスペース: 生成したWSDLファイルは上書きするため、デフォルトをそのまま使用します。 このWSDLファイルのターゲット・ネームスペースはhttp://www.globalcompany.com/ns/creditです。

    図5-4 「WSDLドキュメントの作成」ダイアログ

    図5-4の説明は次にあります。
    「図5-4 「WSDLドキュメントの作成」ダイアログ」の説明

  4. 「OK」をクリックします。

  5. JDeveloperによってエディタに表示されるCreditService.wsdlファイルを(「ファイル」→「閉じる」の順に選択して)閉じます。

  6. CreditService¥src¥CreditService.wsdlsoademo_101310_prod.zipファイルからコピーし、SOADEMO¥CreditService¥srcディレクトリにある生成したCreditService.wsdlを上書きします。

5.4 WSDLからのJavaの生成

このステップでは、WSDLファイルで宣言されているメソッドに対するJavaクラスを生成します。

  1. 「CreditService」プロジェクトを右クリックし、「新規」を選択します。 新規ギャラリの「カテゴリ」セクションで、Business Tierを開き、「Web Services」を選択します。 「項目」セクションで、「WSDLからJava Webサービス」を選択します。

    図5-5 WSDLからJavaを生成するための新規ギャラリ

    図5-5の説明は次にあります。
    「図5-5 WSDLからJavaを生成するための新規ギャラリ」の説明

    「OK」をクリックします。 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザードが起動します。 ウィザードで、「次へ」をクリックして開始します。

  2. ステップ1のWebサービス記述ページで、「参照」をクリックし、SOADEMO¥CreditService¥srcディレクトリから「CreditService.wsdl」ファイルを選択します。

    マッピング・ファイル: 空白のままにします。

    図5-6 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザード: ステップ1、Webサービス記述

    図5-6の説明は次にあります。
    「図5-6 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザード: ステップ1、Webサービス記述」の説明

    「次へ」をクリックします。

  3. ステップ2のデフォルト・マッピング・オプション・ページで、次の操作を実行します。

    • パッケージ名: 「org.soademo.creditservice」と入力します。

    • 生成タイプのルート・パッケージ: 「org.soademo.creditservice.types」と入力します。

    • データ・バインディング・クラスの生成: このオプションを選択します。

    • 既存のタイプ・クラスの再利用: このオプションを選択します。

    • パラメータにヘッダーをマップ: このオプションを選択します。

    図5-7 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザード: ステップ2、デフォルト・マッピング・オプション

    図5-7の説明は次にあります。
    「図5-7 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザード: ステップ2、デフォルト・マッピング・オプション」の説明

    「次へ」をクリックします。

  4. ステップ3のカスタムDataTypeシリアライザを指定ページは空白のままにし、「次へ」をクリックします。

    図5-8 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザード: ステップ3、カスタムDataTypeシリアライザを指定

    図5-8の説明は次にあります。
    「図5-8 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザード: ステップ3、カスタムDataTypeシリアライザを指定」の説明

  5. ステップ4のハンドラ詳細ページで、デフォルトをそのまま使用して「次へ」をクリックします。

    図5-9 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザード: ステップ4、ハンドラ詳細

    図5-9の説明は次にあります。
    「図5-9 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザード: ステップ4、ハンドラ詳細」の説明

  6. ステップ5の状態ページでは、「ステートフル・サービス」を選択しないでください。 「次へ」をクリックします。

    図5-10 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザード: ステップ5、状態

    図5-10の説明は次にあります。
    「図5-10 WSDLからJ2EE 1.4 Java Webサービスを作成ウィザード: ステップ5、状態」の説明

  7. 終了ページの画面で、「終了」をクリックします。

    JDeveloperで、エディタの設計ビューにCreditService.wsdlが表示されます。

5.5 構造ウィンドウでのファイル・リストの表示

構造ウィンドウで、次のファイルが表示されていることを確認します。

  1. 「表示」→「構造」の順に選択して、構造ウィンドウを表示します。

  2. アプリケーション・ナビゲータで、「SOADEMO」「CreditService」「アプリケーション・ソース」「org.soademo.creditservice」「CreditService」の順に選択します。

    構造ウィンドウで、次のファイルが表示されていることを確認します。

    • CreditService.wsdl

    • ValidateCreditCard.java

    • CreditCardValidationFaultMessage.java

    • CreditCard.java

    • CreditService-java-wsdl-mapping.xml

    • ValidateCreditCardImpl.java

5.6 CreditServiceのビルド

「CreditService」プロジェクトを右クリックし、「再ビルド」を選択します。

5.7 クレジット・カードの検証を実行するためのコードの記述

(構造ウィンドウで)「ValidateCreditCardImpl.java」をダブルクリックし、verifyCCメソッドを次のように編集します。

public boolean verifyCC(CreditCard creditCard)
                                  throws CreditCardValidationFaultMessage {
   boolean validOrNot = false;
   if ((creditCard.getCcType().equals("AMEX")) ||
         (creditCard.getCcType().equals("Visa"))) {
      validOrNot = true;
      Long ccnum = new Long (creditCard.getCcNum());
      if (ccnum < 12345678){
         validOrNot = false;
      } else {
         validOrNot = true;
      }
   } else {
      validOrNot = false;
   }
   return validOrNot;
}

5.8 CreditService.wsdlのホスト名とポートの検証

CreditService.wsdlファイルには、次の2つのファイルがあります。

両方のwsdlファイルのホスト名とポートを検証する必要があります。

  1. 1番目の「CreditService.wsdl」をダブルクリックします(CreditService.wsdlは、アプリケーション・ナビゲータでは、「SOADEMO」「CreditService」「アプリケーション・ソース」内にあります)。

  2. エディタで、「サービス」の下にある「CreditService」「ValidateCreditCardServiceSoapHttp」「soap:address」を順に開きます。

    図5-11 エディタにCreditService.wsdlファイルが表示されたJDeveloper

    図5-11の説明は次にあります。
    「図5-11 エディタにCreditService.wsdlファイルが表示されたJDeveloper」の説明

  3. 「soap:address」を右クリックし、「プロパティ」を選択します。 「soap:addressのプロパティ」ダイアログが表示されます。

    図5-12 「soap:addressのプロパティ」ダイアログ

    図5-12の説明は次にあります。
    「図5-12 「soap:addressのプロパティ」ダイアログ」の説明

  4. 必要に応じて、「location」フィールドで、URLのホスト名とポートを編集します。 URLの先頭を表示するには、左端までスクロールする必要があります。

    ホスト名は、Oracle Application Serverを実行している位置、ポートは、Oracle HTTP ServerまたはOC4JがリスニングしているHTTPポートを指定します。

  5. 「location」を変更した場合は、「OK」をクリックします。 変更しなかった場合は、「取消」をクリックします。

  6. 「ファイル」→「保存」の順に選択し、変更内容をWSDLファイルに保存します。

  7. 2番目のwsdlファイルに対して同じ手順を繰り返します。このwsdlファイルは、「CreditService」「Webコンテンツ」「WEB-INF¥wsdl」内にあります。

  8. エディタで両方のファイルを閉じます。

5.9 コンテキスト・ルートの更新

  1. 「SOADEMO」「CreditService」「リソース」内にある)「WebServices.deploy」を右クリックし、「プロパティ」を選択します。 「WARデプロイメント・プロファイルのプロパティ」ダイアログが表示されます。

    図5-13 「WARデプロイメント・プロファイルのプロパティ」ダイアログの「一般」セクション

    図5-13の説明は次にあります。
    「図5-13 「WARデプロイメント・プロファイルのプロパティ」ダイアログの「一般」セクション」の説明

  2. 左側で、「一般」を選択します。 右側で、「J2EE Webコンテキスト・ルートを指定」を選択し、その値として「CreditService」を入力します。

  3. 「OK」をクリックします。

  4. 「ファイル」→「保存」の順に選択し、変更内容を保存します。

5.10 CreditServiceの再ビルド

「CreditService」プロジェクトを右クリックし、「再ビルド」を選択します。

5.11 Oracle Application ServerへのCreditServiceのデプロイ

CreditServiceプロジェクトを作成した後は、JDeveloperによって、WebServices.deployデプロイメント・プロファイルが自動的に作成されています。 このデプロイメント・プロファイルを使用して、CreditServiceプロジェクトをOracle Application Serverにデプロイできます。

  1. 「CreditService」「リソース」の順に開き、「WebServices.deploy」を右クリックします。 「配布先」を選択し、使用しているアプリケーション・サーバー接続を選択します。

  2. 「アプリケーションの構成」ダイアログで「OK」をクリックします。

CreditServiceをデプロイした後は、ブラウザに次のURLを入力すると、CreditServiceに対するWSDLを表示できます。

http://hostname:port/CreditService/ValidateCreditCardServiceSoapHttp?WSDL

hostnameには、Oracle Application Serverが実行されているマシンの名前を指定します。

portには、Oracle Application ServerがリスニングしているHTTPポートを指定します。 このポートは、Oracle HTTP ServerポートまたはOC4Jポートのいずれかになります。

CreditServiceをデプロイした後は、Application Server ControlのOC4J: ホーム・ページの「Webサービス」タブ(図5-14)と「アプリケーション」タブ(図5-15)に、CreditServiceが表示されていることを確認します。

図5-14 ValidateCreditCardServiceSoapHttp Webサービスが表示されたOC4J: ホーム・ページの「Webサービス」タブ

図5-14の説明は次にあります。
「図5-14 ValidateCreditCardServiceSoapHttp Webサービスが表示されたOC4J: ホーム・ページの「Webサービス」タブ」の説明

図5-15 SOADEMO-CreditService-WSアプリケーションが表示されたOC4J: ホーム・ページの「アプリケーション」タブ

図5-15の説明は次にあります。
「図5-15 SOADEMO-CreditService-WSアプリケーションが表示されたOC4J: ホーム・ページの「アプリケーション」タブ」の説明