このセクションでは、トラフィック ログにキャプチャされたトラフィックから固定メッセージ レスポンダーを作成する方法について説明します。
セクションの内容:
トラフィックからの「固定メッセージ」仮想アセットの作成
リクエストとレスポンスの HTTP ヘッダーには、XML または JSON コンテンツ タイプの Content-Type ヘッダーがなければなりません。例:
Content-Type: application/json; charset=UTF-8
Content-Type: text/xml; charset=UTF-8
メッセージは、トラフィックから自動的にレスポンダーを正常に作成できるように、整形式でなければなりません。
トラフィックからメッセージ レスポンダーを作成する際、コンソール ビューを開いておくと役立ちます。コンソール ビューには、トラフィック ファイルの処理中に生成される警告、エラー、および通知メッセージが表示されます。
トラフィック ファイルから " 固定メッセージ" メッセージ レスポンダーを自動的に作成してデプロイするには、以下の操作を行います。
- 利用できる作成ウィザードで [トラフィック] > [固定メッセージの生成] を選択します。
- ウィザードへのアクセスの詳細については「プロジェクト、 仮想アセット、レスポンダー スイートの追加」を参照してください。
- [次へ] をクリックして、次のオプションを選択します。
- [トラフィック ファイル] フィールドでトラフィック ファイルへのパスを指定します。
- 必要に応じて、[文字コード] ドロップダウン メニューから文字コードを選択します。
- [Response Strategy] セクションでデフォルトのレスポンダー モードを選択します ( Response Strategies を参照)。
- [次へ] をクリックし、メッセージ グループ化オプションを指定します ( Messaging Group Options を参照)。
- (MQ および JMS のみ) [次へ] をクリックし、MQ または JMS の接続設定を指定します。
- [次へ] をクリックし、[メッセージ グループ化の確認] 画面のオプションをすべて指定します (「Message Grouping Review Screen」を参照)。
- [次へ] をクリックし、作成する仮想アセットの名前とデプロイメント パスを指定します。詳細については「個別の仮想アセットのデプロイメント設定」を参照してください。
- [終了] をクリックして仮想アセットを作成します。XML メッセージの場合は、[次へ]をクリックし、動的メッセージを構成します(オプション)。
- 動的メッセージは、レスポンス メッセージから抽出されたデータを使用して、レスポンス メッセージまたはヘッダー要素をパラメータライズします。パラメータライズする操作ごとに、[Configure Dynamic Messages] 画面で設定を行うことができます。各画面での設定を完了した後、[次へ] をクリックして次の操作に進みます。動的メッセージの設定方法については「Completing the Configure Dynamic Messages Wizard」を参照してください。
- [終了] をクリックします。
メッセージ レスポンダーが作成され、ローカルの Virtualize サーバーにデプロイされます。
メッセージで検出された異なる操作に基づいてグループ化するために、リクエスト メッセージが解析されます。各操作が 1 つのメッセージ レスポンダーになります。SOAP メッセージの場合、Body の直下の要素名ディレクトリが操作名として使用されます。プレーン XML の場合は、操作を決定するためにルート要素が使用されます。
レスポンス方法
レスポンス方法は、構成しているメッセージグループのデフォルトのレスポンダー モードを決定します。ウィザードの別の画面で個々のメッセージ グループのレスポンダー モードを変更できますが、このオプションは、スイートに追加されたレスポンダーのベースライン動作を設定します。以下のいずれかのレスポンス方法を選択します。
Correlated | このオプションは、複数レスポンス モードでレスポンダーを生成します。このモードでは、レスポンス メッセージはリクエストの応答条件に基づいて送信されます。詳細については「複数レスポンス」を参照してください。 場合によっては、ウィザードがシーケンス レスポンスまたはリテラル モードにフォールバックすることがあります。これは、Virtualize が応答条件を検出しない場合に発生する可能性があります。代替モードにフォールバックする必要がある場合、同じリクエストに対して異なる応答がトラフィックファイルで検出された際、Virtualize はシーケンス レスポンス モードを使用します( シーケンス レスポンス を参照)。すべてのレスポンスが同じである場合、Virtualize はリテラル レスポンス モードにフォールバックします( リテラル を参照)。 |
---|---|
シーケンス | このオプションは、シーケンス レスポンス モードでレスポンダーを生成します。詳細については「シーケンス レスポンス」を参照してください。 |
シングル レスポンス | このオプションは、メッセージ グループから単一のメッセージ ペアを選択し、リテラル モードでレスポンダーを生成します。「リテラル」を参照してください。 |
メッセージ グループ化オプション
以下のメッセージ グループ化オプションを指定できます。
なし | グループ化しない。トラフィック ファイル中のレスポンス メッセージごとにレスポンダーが生成されます。リクエスト/レスポンスのペアごとに個別のメッセージ レスポンダーを用意したい場合、このオプションを使用します。 |
---|---|
操作/タイプに基づく | 操作またはメッセージ タイプに基づいてメッセージをグループ化します。このオプションが有用なのは、操作によって、あるいはメッセージ タイプ (つまり、SOAP ボディの要素名、プレーン XML メッセージのルート要素、または指定されたメッセージ形式のメッセージ タイプ) によって、明確に特定できるメッセージを持つサービス トラフィックの場合です。トラフィック ファイル中で発見された操作/タイプごとに 1 つのレスポンダーが生成されます。 |
類似リクエストに基づく | リクエスト メッセージの構造に基づいてメッセージをグループ化します。構造が類似したリクエストに関連するレスポンスを個々のレスポンダーが持つよう、Virtualize はリクエスト メッセージの構造を解析し、リクエスト/レスポンスをグループ化してレスポンダーにします。メッセージは、たとえ値が異なっていても、同一の DOM ツリー モデルを持つ場合に " 類似" と見なされます。このオプションは、各メッセージ レスポンダー内でレスポンスにリクエストを関連付けるための規則を最適化し簡潔にするために使用されます。 |
類似レスポンスに基づく | レスポンス メッセージの構造に基づいてメッセージをグループ化します。このオプションを選択すると、Virtualize は、レスポンス メッセージの構造を解析し、リクエスト/レスポンスのペアをグループ化してレスポンダーにすることで、個々のレスポンダーが、構造が類似したレスポンスを持つようにします。メッセージは、たとえ値が異なっていても、同一の DOM ツリー モデルを持つ場合に " 類似" と見なされます。このオプションは、データ ソースのパラメータライズのために最適化されるメッセージ レスポンダーを生成するために使用されます。メッセージ レスポンダー内のすべてのレスポンスが類似しているため、データ ソース駆動のアセットを作成するために、各レスポンダーに対してデー タソースをより簡単に生成することができます。 |
[メッセージ グループ化の確認] 画面
[メッセージ グループ化の確認] 画面の列は、適用されたグループ化手法に基づいています。テーブルの各行は、グループを定義する条件に対応します。テーブルの各行に 1 つのグループが生成されます。各グループに 1 つのレスポンダーが生成されます。この画面を使用するための詳細については「グループ化条件のカスタマイズ」セクションを参照してください。
応答条件基準は、表に表示されている順番に (上から下に) 処理されます。これらのグループ化の作成方法の詳細については、「操作/ タイプによるグループ化の経験則」を参照してください。
利用できるコントロールを使って、グループ化条件を追加、変更、並べ替え、および削除することができます。条件を変更したら、次のページに進む前に必ず [再グループ化] をクリックしてください。
[自動構成] オプションを使用すると、Virtualizeは、指定されたグループのメッセージ レスポンダーを自動的に構成できます。各メッセージ グループのメッセージ レスポンダーを手動で設定するには、[自動構成] オプションを無効にします (「Configuring Request Mapping Options」を参照)。
1 つのメッセージ グループ内に複数のリクエストが存在し、パス、パラメーター、またはボディに差異がある場合は通常、自動構成を利用できます。[自動構成] がグレー表示されている場合、そのグループに対して自動構成を利用することはできません。特定のグループがなぜ自動構成できないかについては、その項目のツールチップを参照してください。
パネルの上部にリストされている項目(処理済みのペア、未処理のペア、グループと一致しないメッセージなど)の詳細については、関連するハイパーリンクをクリックしてください。
特定のレスポンダーに関連付けられているメッセージを確認したり、レスポンダーとデータセットの名前を変更したりするには、[カウント] 列の関連する行をクリックします。
リクエスト照合オプションの設定
[リクエスト照合] 画面では、リクエスト/レスポンス ペアを再マッピングしたり、仮想アセットのレスポンス メッセージを決定するためにどのパラメーター値を使用するかをカスタマイズしたりすることができます。[リクエストの照合] 画面でオプションを設定する方法の詳細については、「リクエストの照合と応答条件のカスタマイズ」を参照してください。
[動的メッセージの設定] ウィザードの完了
リクエスト メッセージの各操作について、[動的メッセージの設定] ウィザード ページが表示されます。[レスポンス] タブには、レスポンス メッセージで可能な要素がすべて表示され、ユーザーは受信リクエスト メッセージから抽出した値を使ってこれらの要素をパラメータライズすることができます。[トランスポート ヘッダー] タブでは、ヘッダーの値とプロパティをパラメータライズすることができます。
[レスポンス] または [トランスポート ヘッダー] タブで値をパラメータライズするには、以下の操作を行います。
- 抽出された値を使用する項目を選択します。
- レスポンス メッセージの要素をパラメータライズしている場合、[レスポンス] タブの左側ペインでその要素を選択します。
- ヘッダーの値またはプロパティをパラメータライズしている場合、[トランスポート ヘッダー] タブで適切なトランスポートとカテゴリを選択します。まだ表示されていないヘッダーの値をパラメータライズしたい場合は、ここで追加します。
- [パラメータライズ] および [データ ソース ウィザードの使用] を選択します。
- 表示されたウィザードで、以下の操作を行います。
- ページの先頭で、値を抽出する受信リクエスト メッセージを選択し、メッセージ ボディとメッセージ ヘッダーのどちらから値を抽出するかを指定します。
- パネルの左側のコントロールを使って、何を抽出するかを選択し、パネルの右側に追加します。右側のパネルには、抽出のために設定した値のリストが表示されるほか、デフォルト設定のままにした場合、格納されるデータ ソース列名が表示されます。
- (オプション) さらにオプションを指定したい場合 (たとえば、値を格納するために使用する列の名前を変更したい場合、書き込み可能なデータ ソースに値を保存したい場合、あるいは既存の変数に値を格納したい場合)、または XPath の詳細設定を変更したい場合、右側の表で適切な要素を選択し、[変更] をクリックします。そして、必要に応じてオプションを設定して [OK] をクリックします。利用できるオプションについては「抽出した各要素のオプション」を参照してください。
[終了] をクリックしてウィザードを完了すると、生成されるメッセージ レスポンダーに、XML Data Bank ツール (ヘッダーの場合は Header Data Bank ツール) が自動的に追加されます。
これらのツールは、ウィザードで指定した抽出を実行するようあらかじめ設定されます(パラメータライズされた値にアクセスするために ${} 表記が使用されます)。たとえば以下の例を見てみましょう。このメッセージ レスポンダーは、メッセージ リクエストから抽出された値を使用し、それを titleKeyword 列に保存するよう設定されています。
抽出方法を変更したい場合は、ツールの設定パネルを開き、「XML Data Bank」および「Header Data Bank」で説明しているように設定をカスタマイズします。
仮想アセットのデプロイ
Virtual Asset フォルダーに .pva が作成された場合、ウィザードが完了すると、仮想アセットは自動的にローカルの Virtualize サーバーにデプロイされます。そうでない場合、ユーザーは準備ができたときにいつでもローカル サーバーまたはリモート サーバーに仮想アセットをデプロイすることができます。
デプロイ手順とオプションの詳細については、「仮想アセットのデプロイ」を参照してください。
仮想アセットのカスタマイズ
メッセージ レスポンダーの振る舞いをカスタマイズする方法については、「メッセージ レスポンダーの概要」を参照してください。