このセクションでは、トラフィックログにキャプチャされたトラフィックから、パラメータライズされたメッセージ レスポンダーを作成する方法の概要について説明します。セクションの内容:

要件

トラフィックからテストおよび/またはメッセージ レスポンダーを作成する際、コンソール ビューを開いておくと役立ちます。コンソール ビューには、トラフィック ファイルの処理中に生成される警告、エラー、および通知メッセージが表示されます。

ウィザードの使用

  1. 利用できる作成ウィザードで [トラフィック] > [パラメータライズされたメッセージを生成] を選択します。レウポンダーの追加については「プロジェクト、 仮想アセット、レスポンダー スイートの追加」を参照してください。  

  2. トラフィック ウィザードで次の情報を指定します。
    1. トラフィック ファイルの場所を指定します。定義ファイルが入力されている場合、これはオプションです。
    2. 必要に応じて文字エンコーディングを変更します。
    3. (オプション) サービス定義ファイルを指定します。サービス定義を提供することで、Virtualize はより良いメッセージ グループとデータソース応答条件を作成できます。
    4. 以前にテンプレートに保存した設定グループをウィザードに入力したい場合、テンプレートの場所を入力します。Virtualize のテンプレートの作成と使用の詳細については「構成テンプレートによるウィザード設定の再利用と共有」を参照してください。

  3. [次へ] をクリックし、[Parasoft Data Repository Settings] ページで、データを格納するデータ リポジトリを指定します。
  4. [次へ] をクリックし、[メッセージ形式] および [Grouping Strategy] の設定を行います。

    1. [リクエスト メッセージ形式:] および [レスポンス メッセージ形式:] に正しいフォーマットが設定されていることを確認します。Virtualize は、トラフィックファイルの最初のメッセージに基づいて、リクエストおよびレスポンスのメッセージ フォーマットの識別を試みます。1 つのトラフィック ファイルでは、すべてのリクエストが同じフォーマットであり、またすべてのレスポンスも同じフォーマットであることが期待されます。リクエスト フォーマットとレスポンス フォーマットは異なっていてもかまいません。メッセージ フォーマットを検出できなかった場合、プレーン テキストが選択されます。

    2. 変換オプションは、EDI やカスタム形式などの一部の形式で使用できます。[変換オプション] ボタンをクリックして、必要な変更を加えます。 

    3. メッセージ グループ化オプションを選択します。詳細については「Message Grouping Options」を参照してください。

    4. サービス定義ファイルまたはテンプレート ファイルを指定した場合は、[メッセージ グループ作成オプション] セクションで [制約] オプションを有効にできます。このオプションを有効にすると、テンプレート ファイルとサービス定義ファイルのいずれかで定義されたメッセージ グループだけがグループ化されます。他のすべてのメッセージは無視されます。このオプションを無効にすると、Virtualize はトラフィック ファイルに表示されるすべてのメッセージをグループ化します。サービス定義ファイルとテンプレート ファイルが提供されていて、このオプションが有効になっている場合、グループ化は、サービス定義によって制約される前に、テンプレート ファイルに従って制約されます。その結果、メッセージがサービス定義ファイルで定義されていても、テンプレート ファイルで定義されていない場合、メッセージは無視されます。[制約] オプションは、デフォルトで有効化されています。
    5. サービス定義ファイルまたはテンプレート ファイルを指定した場合は、[メッセージ グループ作成オプション] セクションで [空のグループ] オプションを有効にできます。このオプションを有効にすると、トラフィック ファイルにグループ基準に一致するメッセージが含まれていない場合でも、サービス定義ファイルまたはテンプレート ファイルに基づいてグループが作成されます。このオプションを無効にすると、メッセージのないグループは作成されません。トラフィック ファイルがサービス定義またはトラフィックテンプレートと一緒に指定されている場合、[空のグループ] オプションはデフォルトで false に設定されます。トラフィック ファイルが指定されていない場合、[空のグループ] オプションはデフォルトで true に設定されます。
    6. [次へ] をクリックし、[メッセージ グループ化の確認] 画面で操作やメッセージの情報を確認します。詳細については、「Message Grouping Review Screen」 を参照してください。
  5. [次へ] をクリックします。各グルーウの[ 自動構成] オプションが有効な場合、[データの再利用] 画面が開き、次の手順をスキップできます。
  6. 前の画面で [自動構成] オプションが無効になっている場合は、[リクエスト照合] 画面でリクエスト照合オプションを手動で設定する必要があります。「Configuring Request Mapping Options」を参照してください。 
  7. インポートしたトラフィックを再利用する方法、またはデータの再利用画面で既存のデータに影響を与える方法を設定します。詳細については、「Configuring Data Reuse Options」 を参照してください。  
  8. [次へ] をクリックし、[最終オプション] 画面で追加の構成を指定します。
  9. [終了] をクリックします。

結果

要素がパラメータライズされ、レスポンダー応答条件およびデータ ソース応答条件が設定された Message Responder が追加されます。メッセージが XML または JSON ではなく、パフォーマンスへの影響が予想されるほどメッセージのサイズが大きくない限り、[フォーム入力]/[フォーム JSON] ビューがデフォルトで使用されます。そうでない場合、[リテラル] ビューが使用されます。

(新規データ リポジトリの場合) 適用可能なデータ セットおよびレコード タイプが追加された Data Repository が追加されます。トラフィックの解析によって識別されたメッセージのグループごとに 1 つのデータ セットが追加されます。

(既存のデータ リポジトリの場合) 既存のリポジトリに新規データ セットおよびレコード タイプが追加されます。

追加されたデータ セットごとにリポジトリ データ ソースが追加され、テスト クライアントまたはメッセージ レスポンダーは関連するデータ ソースを使用するよう構成されます。

Virtual Asset フォルダーに .pva が作成された場合、ウィザードが完了すると、仮想アセットは自動的にローカルの Virtualize サーバーにデプロイされます。そうでない場合、ローカル サーバーまたはリモート サーバーに手動でデプロイすることができます。

データ リポジトリに格納されたデータの編集および格納については、「リポジトリ構成とコンテンツの参照/修正」を参照してください。

なお、トラフィック ファイル中に存在する、カスタム トランスポート ヘッダーおよび SOAP ヘッダー (たとえば WS-Security ヘッダー) は、生成されるアセットあるいはデータリポジトリ データ セットに自動的に設定されないので注意してください。それらのヘッダーは、生成されたメッセージ レスポンダーで指定できます (詳細は「メッセージ レスポンダーの概要」を参照)。

メッセージ グループ化オプション

[メッセージ形式およびグループ化手法] 画面では、次のメッセージ グループ化オプションを使用できます。

[メッセージ グループ化の確認] 画面

[メッセージ グループ化の確認] 画面の列は、適用されたグループ化手法に基づいています。テーブルの各行は、グループを定義する条件に対応します。テーブルの各行に 1 つのグループが生成されます。各グループに 1 つのレスポンダーが生成されます。この画面を使用するための詳細については「グループ化条件のカスタマイズ」セクションを参照してください。 

応答条件基準は、表に表示されている順番に (上から下に) 処理されます。これらのグループ化の作成方法の詳細については、「操作/ タイプによるグループ化の経験則」を参照してください。

利用できるコントロールを使って、グループ化条件を追加、変更、並べ替え、および削除することができます。条件を変更したら、次のページに進む前に必ず [再グループ化] をクリックしてください。

[自動構成]  オプションを使用すると、Virtualizeは、指定されたグループのメッセージ レスポンダーを自動的に構成できます。各メッセージ グループのメッセージ レスポンダーを手動で設定するには、[自動構成] オプションを無効にします (「Configuring Request Mapping Options」を参照)。

1 つのメッセージ グループ内に複数のリクエストが存在し、パス、パラメーター、またはボディに差異がある場合は通常、自動構成を利用できます。[自動構成] がグレー表示されている場合、そのグループに対して自動構成を利用することはできません。特定のグループがなぜ自動構成できないかについては、その項目のツールチップを参照してください。

パネルの上部に表示される項目の詳細 (処理されたペア、処理されなかったペア、グループに一致しないメッセージなど) については、関連するハイパーリンクをクリックしてください。

特定のレスポンダーに関連するメッセージを確認するには、あるいはレスポンダーとデータ セットの名前を変更するには、[カウント] 列で該当行をクリックします。

リクエスト照合オプションの設定

[リクエスト照合] 画面では、リクエスト/レスポンス ペアを再マッピングしたり、仮想アセットのレスポンス メッセージを決定するためにどのパラメーター値を使用するかをカスタマイズしたり、このメッセージに関連付けるサービス定義を指定したりすることができます。[リクエストの照合] 画面でオプションを設定する方法の詳細については、「リクエストの照合と応答条件のカスタマイズ」を参照してください。

データの再利用オプションの設定

定義されたレコード ID は、どのデータが新規で、どの新規データが既存のレコードに一致するかを判断するために使用されます。このデータセットがまだ指定されていない場合、データ ツリーで ID を追加/変更できます。ツリーは、ID フィールドを緑色の矢印のアイコンで示します。既存のデータ セットには注釈が表示されます。再利用の設定の詳細については、「データの再利用と更新の設定」を参照してください。 

トラフィックファイルの新規データを使って、既存のリポジトリデータセットをどのように拡張あるいは更新するかを指定できます。 

一致するデータ (ID によって既存のレコード タイプに一致するデータ) がある場合、既存のレコード タイプを再利用するか、それとも既存レコードを更新するかを指定できます。

[次から制約を推論] オプションを使用すると、Virtualize でリポジトリに保存されているデータの特性を判断できます。データまたはサービス定義に基づいて制約を推測できます。

仮想アセットのデプロイ

Virtual Asset フォルダーに .pva が作成された場合、ウィザードが完了すると、仮想アセットは自動的にローカルの Virtualize サーバーにデプロイされます。そうでない場合、ユーザーは準備ができたときにいつでもローカル サーバーまたはリモート サーバーに仮想アセットをデプロイすることができます。デプロイ手順とオプションの詳細については、「仮想アセットのデプロイ - 概要」を参照してください。

仮想アセットのカスタマイズ

メッセージ レスポンダーの振る舞いをカスタマイズする方法については、「メッセージ レスポンダーの概要」を参照してください。

choice/extension タイプのサポート

ウィザードの最後に WSDL ファイルまたはスキーマ ファイルを入力しない場合、Virtualize は記録されたトラフィックのデータ構造を使用してデータ リポジトリを作成します。記録されたトラフィックで要素のデータ構造が異なる場合、おそらくスキーマでのその要素のタイプは choice です。しかし、ウィザードは明示的に choice タイプをサポートしません。ウィザードは、可能性のあるすべての子要素のシーケンスとして要素のデータ構造を解釈します。たとえば、要素の実際のスキーマが以下であるとします。

<element name="parent">
    <complexType>
        <choice minOccurs="0" maxOccurs="unbounded">
            <element name="child1"/> 
            <element name="child2"/> 
            <element name="child3"/>
        </choice>
    </complexType> 
</element>

Virtualize は以下のデータ構造で要素を表現します。

<element name="parent">
    <complexType>
        <sequence>
            <element name="child1" minOccurs="0" maxOccurs="unbounded"/> 
            <element name="child2" minOccurs="0" maxOccurs="unbounded"/> 
            <element name="child3" minOccurs="0" maxOccurs="unbounded"/>
        </sequence>
    </complexType> 
</element>

記録されたトラフィック中で、子要素の順番が異なるケースがあります。たとえば、あるレスポンス メッセージの "parent" では "child1" の後に "child2" があり、別のレスポンスメッセージでは "child2" の後に "child1" がある、といったケースです。しかし、Virtualize はパラメータライズされたメッセージ データを固定の順番でパラメータライズします。したがって、この例の場合、レスポンスメッセージ内で "child1" と "child2" は常に同じ順序で出現します。

ウィザードの完了: 詳細情報

以下のセクションでは、ウィザードを完了するのに役立つ詳細情報について説明しています。

ビデオ チュートリアル: メッセージ プロキシで記録したトラフィックから仮想アセットを作成する

この動画では、メッセージ プロキシで記録したトラフィックから仮想アセットを作成する方法を学びます。