このセクションでは、メッセージプロキシを作成する基本手順について説明します。
このセクションの内容
[Virtualize サーバー] または [SOAtest サーバー] ビュー
でサーバーを右クリックし、[メッセージ プロキシの追加] を選択します。プロキシまたはフォルダーを削除するには、ノードを右クリックして [削除] を選択します。
プロキシを含むフォルダーを削除すると、プロキシはデプロイ解除され、サーバーから削除されます。
サーバー ビューでノードを右クリックし、[メッセージ プロキシの追加] を選択して、メッセージ プロキシ フォルダーまたはサブフォルダーに直接プロキシを作成することもできます。
サーバーの Message Proxiesフォルダーにサブフォルダーを作成して、その内容を整理できます。
フォルダーを右クリックして、 [名前の変更] を選択します。サーバー ビューでデフォルトのフォルダー(仮想アセット、メッセージプロキシなど)の名前を変更することはできません。
右クリック メニューから、フォルダーまたはプロキシをコピーして、メッセージ プロキシ フォルダー内の別のフォルダーに貼り付けることができます。
サブ フォルダーとプロキシを他のサブフォルダーにドラッグすることもできます。
追加されたノードをダブル クリックして構成パネルを開き、以下のタブでプロキシを構成します。構成が完了すると、「プロキシの有効化/無効化」にあるようにプロキシを有効にすることができます。そして「メッセージ プロキシからのトラフィックの記録」にあるように記録を開始できます。
[全般] タブで、プロキシの名前と説明を入力します (説明の入力は任意)。
[接続] タブで、どのエンド ポイントをプロキシでリスンするか、着信メッセージをどこに転送するかを指定します。プロキシを使用する各エンド ポイントに、次の操作を行います。
プロキシ設定を入力します。
%n_%d_%t.txt
(<proxy_name>_<current_date>_<current_time>.txt) という名前のファイルに記録されます。recorded_traffic フォルダー内に保存されます(このフォルダーが存在しない場合は作成されます)。ファイル名は変更できますが、フォルダー名は変更できません。このフォルダーは常にVirtualAssets プロジェクト内に置かれます。%d
(現在日付)、%t
(現在時刻)、%n
(プロキシ名)、および %u
(ユニークな時刻ベースの ID) などの変数を使用できます。名前とともにワイルドカードを使用できます。たとえば、%nProxyTraffic%d
または %u_%d%nTraffic
と指定できます。[HTTP リスナー] タブで、HTTP(S) リスナーが待機するポートを設定します。HTTP リスナーは、HTTP トラフィックを記録するための接続設定を容易にします。次の 2 種類があります:
リバース プロキシ
このタイプのリスナーは、トラフィックをリッスンするポートを開始し、ライブ サービスまたは仮想アセットのいずれかに転送するために使用することができます。これは、テスト対象アプリケーションに、バックエンド サービスへの接続に使用するホストとポートをユーザーが構成できるような構成オプションがある場合に最もよく使用されます。
HTTP リスナーを追加するには:
0
を指定すると、メッセージ プロキシがポートを自動的に割り当てることができます。プロキシを有効にすると、割り当てられたポート番号がコンソールに表示されます。メッセージ プロキシが変更/有効化されるたびに、ポートがランダムに割り当てられます。GET リクエストを messageProxies
API エンドポイントに送信して、自動的に割り当てられたポート番号を返すこともできます。詳細については「REST API によるテスト」を参照してください。 フォワード プロキシ
Host ヘッダーに基づきトラフィックをルーティングすることができる HTTP プロキシを開始します。これは、バックエンド サービス エンドポイントを構成できないモバイル アプリケーションや、バックエンド サービスへの接続に使用するホストとポートを変更するための構成オプションがないテスト対象アプリケーションで使用するのが最適です。
システムリスナーを追加するには:
リバース プロキシとフォワード プロキシのどちらを使用するかは、多くの場合、アプリケーション トラフィックとモバイル トラフィックのどちらを記録したいかによります。両方を記録する場合の例を以下に示します:
HTTP メッセージ プロキシの設定:ビデオ チュートリアルこの動画は、ライブ トラフィックをキャプチャ可能なメッセージ プロキシの設定方法を説明します。 |
トラフィック ファイル名とレコーディング セッション オプションの組み合わせによって、どのようにトラフィック データを記録されるかを以下の表で説明します。
トラフィック ファイル名 | レコーディング セッション オプション | 結果 |
---|---|---|
Default / parameterized | 新規セッション データの追加 | レコーディング セッションのすべてのリクエスト/レスポンスのペアを含む 1 個の新規ファイルを作成します。 |
Static | 新規セッション データの追加 | 指定のトラフィック ファイルに新規トラフィック データを追加します (トラフィック ファイルが存在する場合)。指定のファイルが存在しない場合、レコーディング セッションのすべてのリクエスト/レスポンスのペアを含む 1 個の新規ファイルを作成します。 |
Default / parameterized | セッション データの上書き | レコーディング セッションのすべてのリクエスト/レスポンスのペアを含む 1 個の新規ファイルを作成します。 |
Static | セッション データの上書き | 指定のトラフィック ファイルのトラフィック データを上書きします (トラフィック ファイルが存在する場合)。指定のファイルが存在しない場合、レコーディング セッションのすべてのリクエスト/レスポンスのペアを含む 1 個の新規ファイルを作成します。 |
Default / parameterized | メッセージのペアごとに新規セッション ファイル | レコーディング セッションのリクエスト/レスポンスのペアごとに新規に 1 個のファイルを作成します。複数のリクエスト/レスポンスのペアを検出した場合、複数のファイルを作成します。 |
Static | メッセージのペアごとに新規セッション ファイル | 指定のファイルが存在する場合、リクエスト/レスポンスのペアを検出するたびに、既存のトラフィック データを上書きします。 指定のファイルが存在しない場合、1 番目のリクエスト/レスポンスのペアに対して新規に 1 個のファイルを作成し、その後リクエスト/レスポンスのペアを検出するたびに既存のトラフィック データを上書きします。 どちらの場合も、結果的にファイルには最新のリクエスト/レスポンスのペアが記録されます。 |
プロキシが内部プロトコルを使用していてレコーディング中に MQ トラフィックを受け取る場合、[メッセージのペアごとに新規セッション ファイル] オプションはサポートされません。このオプションを選択している場合、デフォルトで [セッション データの上書き] の処理が実施されます。
プロキシをあるサーバーから別のサーバーにドラッグして移動できます。または、あるサーバーからコピーして別のサーバーに貼り付けることもできます。
プロキシは、グローバル構成またはローカル構成を使用して MQ マネージャーに接続できます。グローバル構成は Virtualizer Server ごとに定義され、サーバーにデプロイされたプロキシまたは仮想アセットで使用できます([接続]タブ を参照)。ローカル構成は、個々のプロキシまたはアセットに対して定義されます。
MQ マネージャー接続構成がターゲットの Virtualize Server に存在しない場合、グローバル MQ マネージャーに接続されたプロキシまたはアセットをデプロイすることはできません。プロキシ/アセットを別の Virtualize Server に移動またはコピーする必要がある場合は、MQ マネージャー接続を手動で定義するか、コピー機能を使用して接続設定をターゲット サーバーに追加できます( MQManager接続のコピー を参照)。
プロキシあるいは Message Forward ツールが誤って A> B> C> A のように転送サイクルを設定した場合、これは無限ループを引き起こします。このようなループを防ぐために、Virtualize と SOAtest は 10 ホップ後に転送を停止するように構成されています。この値は、システム プロパティ parasoft.proxy.loop.max.limit を設定することで変更できます (たとえば parasoft.proxy.loop.max.limit=5)。
このループの検出は内部経由の転送にだけ適用されます (たとえば、ローカル ホストへのルーティングには適用されますが、ホスト名へのルーティングには適用されません)。