ステップ 3: データベース コントロールを追加する

このステップでは、Web サービスにデータベース コントロールを追加できます。データベース コントロールを使用すると、Web サービスはクレジット申込者の破産情報を含むデータベースにアクセスできます。コントロール、つまり CTRL ファイルは、Web サービスと他のデータ リソース(データベース、他の Web サービス、Java Message Services など)との間のインタフェースとして機能します。

このステップでのタスクは次のとおりです。

データベース CTRL ファイルを作成するには

このタスクでは、データベース CTRL ファイルを作成し、その CTRL ファイルにメソッドを追加します。追加するメソッドは checkForBankruptcies と呼ばれ、SQL クエリを使用してデータベースに問い合わせます。

  1. デザイン ビューを表示していない場合は、[デザイン ビュー] タブをクリックします。

  2. [コントロールの追加] ドロップダウン リストから [データベース コントロールの追加] を選択します。[データベース コントロールの追加] ダイアログが表示されます。

  3. 以下の図に示すとおりに値を入力します。

  1. [作成] をクリックします。

  2. 新しく作成されたデータベース コントロールを右クリックして、[メソッドの追加] を選択します。

  1. 表示されるフィールドに checkForBankruptcies と入力して、〔Enter〕を押します。

  1. デザイン ビューで、次のように、checkForBankruptcies メソッドに関連付けられた矢印を右クリックして [SQL とインタフェースの編集] を選択します。[SQL およびインタフェースの編集] ダイアログが表示されます。

  1. 次の図のように値を入力して、[OK] をクリックします。
    以下のテキストを選択してコピーし、[SQL およびインタフェースの編集] ダイアログに貼り付けます。
    [SQL] ウィンドウ :  

    SELECT TAXID, FIRSTNAME, LASTNAME, CURRENTLYBANKRUPT FROM BANKRUPTCIES WHERE TAXID={taxID}
    [Java] ウィンドウ :

    public Investigate.Applicant checkForBankruptcies(String taxID)

Web サービス コードを編集して CTRL ファイルを組み込むには

次に、追加したデータベース コントロールを利用するために Web サービスのコードを変更する必要があります。コントロール メソッド checkForBankruptcies を呼び出すように requestCreditReportAsynch メソッドを編集します。データベースで見つかった情報は m_currentApplicant メンバー変数に格納されます。

  1. [ソース ビュー] タブをクリックします。

  2. requestCreditReportAsynch メソッドを次のように編集します。取り消し線で消されたコード行は必ず削除します。

    public void requestCreditReportAsynch(String taxID) 
 
       throws java.sql.SQLException
    {
        /*
         * Query the database via the database control 
         */
 
       Applicant dbApplicant = bankruptciesDB.checkForBankruptcies(taxID);
        /*
         * If the database contains data on the current applicant, 
         * assign the retrieved values to m_currentApplicant. 
         */
 
       if(dbApplicant != null)
        {
            m_currentApplicant = dbApplicant;
        }
        m_currentApplicant.taxID = taxID;
        callback.onCreditReportDone(m_currentApplicant, null);
    }

デバッガを使用して Web サービスをテストするには

次に、デバッガを使用して Web サービスをテストします。デバッガを使用すると、コード内にブレークポイントを設定して、コードの動作を 1 行ずつ追跡することができます。コード内にブレークポイントを設定すると、Java 仮想マシンはブレークポイントの直前でコードの実行を停止するため、その箇所までのコードを調べることができます。

  1. ソース ビューを表示していない場合は、[ソース ビュー] タブをクリックします。

  2. requestCreditReportAsynch メソッド内で実行されるコードの最初の行にカーソルを置きます。

  3. 次のような、ツールバーの [ブレークポイントの切り替え] ボタンをクリックします。   

次のように、コードの最初の行にブレークポイントが表示されます。

  1. 次のような、ツールバーの [開始してデバッグ] ボタン押します。


テスト ビューのページが表示されます。

  1. [taxID] ボックスに 9 桁の数 222222222 を入力して、[requestCreditReportAsynch] をクリックします。
    注意 :
    Web サービスに追加したデータベースには、6 人分のデータが含まれています。各個人の taxID は 123456789111111111222222222333333333444444444、および 555555555 です。チュートリアルでは、この 6 つの taxID を使用して Web サービスをテストします。

  2. この Web サービスでは、メソッドの呼び出しとコールバックのルーチンを続けて実行しません。これを検証するには、ブラウザを更新して、サービスが requestCreditReportAsynch で停止したことを確認します。

  3. WebLogic Workshop に戻り、コードの実行が次に示すブレークポイントで停止したことを確認します。

  1. [デバッグ ウィンドウ] ペインの [ローカル] タブで、次のように this および m_currentApplicant のエントリを展開します。

注意 : [デバッグ ウィンドウ] ペインには、Web サービス内の変数に対する現在の値と、コール スタック内の現在の位置に関する情報が表示されます。

  1. 次のような、ツールバーの [ステップ イン] ボタンをクリックします。

[ステップ イン] ボタンを押すたびに、requestCreditReportAsynch メソッド内のコードの新しい行が実行されます。m_currentApplicant のプロパティには、データベースから取得した値が格納されます。 [ステップ イン] ボタンをクリックすると、[デバッグ ウィンドウ] の [ローカル] タブ上の m_currentApplicant の値が変わるのが分かります。

  1. Web サービスの実行が終了するまで、[ステップ イン] ボタンをクリックし続けます。

  2. テスト ページを表示するブラウザ ウィンドウに戻り、ブラウザを更新します。

  3. [Message Log] の下の [callback.onCreditRepotDone] をクリックします。クライアント アプリケーションに返信される応答が次のように表示されます。

データベース コントロールの追加とデバッガによる Web サービスのテストが完了しました。チュートリアルの次のステップでは、Web サービスにサービス コントロールを追加します。

関連トピック

Web サービスをデバッグする

データベース コントロール : Web サービスからデータベースを使用する

チュートリアルの前後のステップに移動するには、次のいずれかの矢印をクリックしてください。