HTTP プロキシーを使用したサービス・テストの記録

専用の HTTP プロキシーを使用してクライアント・プログラムを実行することにより、SOAP ベースのサービス、またはプレーン XML サービスのテストを記録することができます。 テストを記録するために、プロキシーによってクライアントとサービスの間のサービス呼び出しおよびメッセージ・リターンがインターセプトされます。このインターセプトによって、クライアントは実際のサーバーではなく、記録プロキシーと通信するため、認証の問題が発生する可能性があります。

始める前に

Rational® Agent Controller がローカル・コンピューターで実行中であることを確認してください。

ワークスペースにテスト・プロジェクトが含まれていない場合は、テスト記録ウィザードがプロジェクトを作成します。特定のプロジェクトにテストを生成する場合は、テストを記録する前にそのプロジェクトが使用可能であることを確認してください。

SOAP ベースの Web サービスをテストする場合は、有効な Web サービス記述言語 (WSDL) ファイルにアクセスできることを確認 してください。ウィザードは、ワークスペース、ファイル・システム、リモート・リポジトリー、または URL から WSDL ファイルをインポートできます。WSDL ファイルがテスト環境に対して正しい構文を使用していることも確認します。Generic Service Client は、一部の WSDL ファイルでは動作しない場合があります。

Secure Sockets Layer (SSL) を使用してサーバーとの通信を認証する場合は、実際のサーバーの証明書ではなく、レコーダー・プロキシーによって生成された証明書を受け入れるようにクライアントを構成する必要があります。

SOAP セキュリティーまたはファイル添付を使用している場合は、正しいライブラリーおよび構成ファイルを備えた環境が構成されていることを確認してください。詳しくは、SOAP セキュリティー用の環境の構成を参照してください。

デフォルトでは、記録プロキシーはポート 1080 を使用します。このポートが既に使用されている場合、または企業のファイアウォールやプロキシーが既にこのポートを使用している場合、ウィザードでポート番号を変更できます。

このタスクについて

テストを記録するには以下のようにします。

手順

  1. テスト・パースペクティブで、「ファイル」 > 「新規」 > 「記録からのテスト」とクリックするか、「記録からの新規テスト」ボタン をクリックします。
  2. 「新規記録からのテストの作成」および「既存のクライアント (HTTP プロキシー) を使用する Web サービスまたは XML 記録」を選択して、「次へ」をクリックします。
  3. プロジェクトを選択して、「テスト・ファイル名」にテストの名前を入力します。 入力した名前は記録、テスト、およびその他の必要ファイルの基本名になります。これらのファイルは、 テスト・ナビゲーター、または Java パッケージ・エクスプローラーではファイルを区別するための接尾部が付加されていますが、テスト・ナビゲーターでは単純な名前 (テスト名) のみが表示されます。
  4. 「次へ」をクリックします。
  5. テストのコンテンツの作成に使用できる任意の WSDL ファイルまたは XML スキーマ定義 (XSD) ファイルを指定します。
    1. SOAP ベースの Web サービスを記録する場合は、「追加」をクリックして、テストする Web サービスの WSDL ファイルを選択またはインポートします。 SOAP を使用しない HTTP を介したプレーン XML サービスをテストしている場合は、WSDL ファイルは必要ありません。
    2. XSD が使用可能な場合は、「追加」をクリックして、テストするサービスの XML コンテンツを定義する XSD ファイルを選択またはインポートします。
  6. 「次へ」をクリックします。
  7. サービスが使用する「ポート」、および「タイムアウト」値 (秒) を指定します。 レコーダーは、独自のプロキシーを使用して、メッセージ呼び出しおよび戻りを記録します。ただし、既に自社のファイアウォールなどのプロキシーを使用してサービスにアクセスしている場合、あるいは、着信メッセージまたは出力メッセージをカスタム・コードを使用して変換する必要がある場合は、「拡張設定」をクリックして、以下のステップを実行してください。
    1. 既存の HTTP プロキシーの場合は、「HTTP プロキシー」に IP アドレスまたはホスト名を入力して、「ポート」に値を指定します。 一部のホストでプロキシーを迂回する必要がある場合は、それらのホストの名前を「非 HTTP プロキシー」に入力します。 複数のホスト名を指定する場合は、コンマで区切ってください。
    2. 既存の HTTPS プロキシーの場合は、「HTTPS プロキシー」に IP アドレスまたはホスト名を入力して、「ポート」に値を指定します。 一部のホストでプロキシーを迂回する必要がある場合は、それらのホストの名前を「非 HTTPS プロキシー」に入力します。 複数のホスト名を指定する場合は、コンマで区切ってください。
    3. 着信メッセージまたは出力メッセージを独自の Java コードを使用して変換する必要がある場合は、「参照」をクリックして、ワークスペース内の Java クラスを指定します。 これは、Java クラスに定義可能な処理メソッドによってメッセージを変換または圧縮する必要がある特殊なケースのためのオプションです。
  8. 「次へ」をクリックします。
  9. サーバー証明書キー・ストア・ファイルにアクセスできない場合、レコーダー・プロキシーが独自の証明書を提供するように指示できます。 これを行うには、「プロキシー証明書による認証」を選択します。 このアクションによって、レコーダー・プロキシーは独自の証明書によって自らの信頼性を証明しようとします。そのため、以下のいずれかの手法を使用して、クライアント・アプリケーションがレコーダー・プロキシーの証明書を信頼するように構成する必要があります。
    ヒント: SSL を使用していない場合は、「プロキシー証明書による認証」を選択して、このページはスキップしてください。
    • クライアント・アプリケーションがトラストストア・ファイルを使用している場合は、プロキシー・レコーダーがクライアント・アプリケーションに自らの信頼性を証明する方法を指定します。これを行うには、「プロキシー証明書をクライアントのトラストストアに追加」を選択します。「参照」をクリックしてトラストストア・ファイルを指定し、パスワードを入力します。
    • トラストストア・ファイルがない場合は、クライアント・アプリケーションに用意された設定、コマンド、またはオプションを使用して、信頼できるサーバーを指定します。
  10. サーバー証明書キー・ストア・ファイルにアクセスできる場合、サービスに二重認証が必要な場合、またはそれぞれ独自の SSL 構成を必要とする複数のエンドポイントをサービスが提供している場合は、「プロキシー証明書による認証」チェック・ボックスをクリアし、テーブルを使用して、SSL 構成を各エンドポイントのホスト名とポートに関連付けます。
    1. 各エンドポイントのホスト名およびポートについて、既存の SSL 構成を選択して「構成の編集」をクリックするか、「新規構成」をクリックして SSL 構成を作成します。 このアクションにより、「SSL プロパティー」ウィンドウが開きます。
    2. 現在の SSL 構成について、ステップ 9 で説明したように、「サーバー証明書による認証」チェック・ボックスを選択するか、クリアします。
    3. サーバーにクライアントを認証させる場合、「クライアント証明書の使用」を選択し、 「参照」をクリックして、 クライアント証明書キー・ストア・ファイルを指定します。キー・ストアが暗号化されている場合は、パスワードを入力します。
    4. 「OK」をクリックします。
  11. 「次へ」をクリックします。初めて Web サービス・テストを記録する場合は、「プライバシーに関する警告」を読み、「同意」を選択してから、「終了」をクリックして先に進みます。
  12. 手動でクライアント・アプリケーションを実行し、 そのアプリケーションを使用してメッセージ呼び出しをサービスに送信し、サービスからメッセージ・リターンを受信します。記録プロキシーを通過したすべてのサービス呼び出しおよびメッセージ・リターンが 記録されます。
  13. テスト対象のサービス呼び出しおよびメッセージ・リターンの記録を終了したら、「レコーダー・コントロール」ビューの「停止」「停止」アイコン をクリックします。 テストの生成と共に、「進行状況」ウィンドウが開きます。

フィードバック