このセクションでは、トラフィック ログにキャプチャされたトラフィックから固定メッセージ レスポンダーを作成する方法について説明します。
セクションの内容:
リクエストとレスポンスの HTTP ヘッダーには、XML または JSON コンテンツ タイプの Content-Type ヘッダーがなければなりません。例:
Content-Type: application/json; charset=UTF-8
Content-Type: text/xml; charset=UTF-8
メッセージは、トラフィックから自動的にレスポンダーを正常に作成できるように、整形式でなければなりません。
トラフィックからメッセージ レスポンダーを作成する際、コンソール ビューを開いておくと役立ちます。コンソール ビューには、トラフィック ファイルの処理中に生成される警告、エラー、および通知メッセージが表示されます。
トラフィック ファイルから " 固定メッセージ" メッセージ レスポンダーを自動的に作成してデプロイするには、以下の操作を行います。
メッセージ レスポンダーが作成され、ローカルの Virtualize サーバーにデプロイされます。
メッセージで検出された異なる操作に基づいてグループ化するために、リクエスト メッセージが解析されます。各操作が 1 つのメッセージ レスポンダーになります。SOAP メッセージの場合、Body の直下の要素名ディレクトリが操作名として使用されます。プレーン XML の場合は、操作を決定するためにルート要素が使用されます。
JSON コンテンツの場合、ログから読み取られたレスポンス メッセージごとにレスポンダーが作成されます。.pva の作成が終了した後に、レスポンダー応答条件基準を設定する必要があります。
以下のメッセージ グループ化オプションを指定できます。
なし | グループ化しない。トラフィック ファイル中のレスポンス メッセージごとにレスポンダーが生成されます。リクエスト/レスポンスのペアごとに個別のメッセージ レスポンダーを用意したい場合、このオプションを使用します。 |
---|---|
操作/タイプに基づく | 操作またはメッセージ タイプに基づいてメッセージをグループ化します。このオプションが有用なのは、操作によって、あるいはメッセージ タイプ (つまり、SOAP ボディの要素名、プレーン XML メッセージのルート要素、または指定されたメッセージ形式のメッセージ タイプ) によって、明確に特定できるメッセージを持つサービス トラフィックの場合です。トラフィック ファイル中で発見された操作/タイプごとに 1 つのレスポンダーが生成されます。 |
類似リクエストに基づく | リクエスト メッセージの構造に基づいてメッセージをグループ化します。構造が類似したリクエストに関連するレスポンスを個々のレスポンダーが持つよう、Virtualize はリクエスト メッセージの構造を解析し、リクエスト/レスポンスをグループ化してレスポンダーにします。メッセージは、たとえ値が異なっていても、同一の DOM ツリー モデルを持つ場合に " 類似" と見なされます。このオプションは、各メッセージ レスポンダー内でレスポンスにリクエストを関連付けるための規則を最適化し簡潔にするために使用されます。 |
類似レスポンスに基づく | レスポンス メッセージの構造に基づいてメッセージをグループ化します。このオプションを選択すると、Virtualize は、レスポンス メッセージの構造を解析し、リクエスト/レスポンスのペアをグループ化してレスポンダーにすることで、個々のレスポンダーが、構造が類似したレスポンスを持つようにします。メッセージは、たとえ値が異なっていても、同一の DOM ツリー モデルを持つ場合に " 類似" と見なされます。このオプションは、データ ソースのパラメータライズのために最適化されるメッセージ レスポンダーを生成するために使用されます。メッセージ レスポンダー内のすべてのレスポンスが類似しているため、データ ソース駆動のアセットを作成するために、各レスポンダーに対してデー タソースをより簡単に生成することができます。 |
[リクエスト パラメーターの選択] ウィザードには、トラフィック ファイルで検出された各操作についてステップが示されます。このステップで、Virtualize は各操作/グループのための名前ベースの XPath を生成します。XPath は、その操作のレスポンダー応答条を設定するために使用されます。たとえば、SOAP ボディの下の要素名が "SubmitOrder" である場合、応答条件の選択セクションに設定される XPath 表現は次のようになります。 local-name(/*/*[local-name(.)="Body"]/*)="SubmitOrder"
なお、メッセージが XML ではない場合、 XPath とパラメーターの選択は、XML に変換されたリクエスト メッセージに適用されます。
同じ操作に属するメッセージの各グループでは、リクエスト間で異なるパラメーターを判断するために、リクエストが互いに比較されます。
リクエスト メッセージの各操作について、[動的メッセージの設定] ウィザード ページが表示されます。[レスポンス] タブには、レスポンス メッセージで可能な要素がすべて表示され、ユーザーは受信リクエスト メッセージから抽出した値を使ってこれらの要素をパラメータライズすることができます。[トランスポート ヘッダー] タブでは、ヘッダーの値とプロパティをパラメータライズすることができます。
[レスポンス] または [トランスポート ヘッダー] タブで値をパラメータライズするには、以下の操作を行います。
[終了] をクリックしてウィザードを完了すると、生成されるメッセージ レスポンダーに、XML Data Bank ツール (ヘッダーの場合は Header Data Bank ツール) が自動的に追加されます。
これらのツールは、ウィザードで指定した抽出を実行するようあらかじめ設定されます(パラメータライズされた値にアクセスするために ${} 表記が使用されます)。たとえば以下の例を見てみましょう。このメッセージ レスポンダーは、メッセージ リクエストから抽出された値を使用し、それを titleKeyword 列に保存するよう設定されています。
抽出方法を変更したい場合は、ツールの設定パネルを開き、「XML Data Bank」および「Header Data Bank」で説明しているように設定をカスタマイズします。
Virtual Asset フォルダーに .pva が作成された場合、ウィザードが完了すると、仮想アセットは自動的にローカルの Virtualize サーバーにデプロイされます。そうでない場合、ユーザーは準備ができたときにいつでもローカル サーバーまたはリモート サーバーに仮想アセットをデプロイすることができます。
デプロイ手順とオプションの詳細については、「仮想アセットのデプロイ」を参照してください。
メッセージ レスポンダーの振る舞いをカスタマイズする方法については、「メッセージ レスポンダーの概要」を参照してください。