Message Forward ツールは、別のエンドポイント (たとえば、実際のリソース) にメッセージを転送するためにメッセージ レスポンダー ツールに連結することができます。エンド ポイントから返される応答は、メッセージ レスポンダーから返された応答として使用されます。

このセクションの内容:

Message Forward ツールとは

Message Forward ツールは、メッセージ レスポンダー ツールの出力として追加できます。これにより、着信リクエストがメッセージ レスポンダーによって処理されない場合は Message Forward ツールが別のエンドポイントへリクエストを転送します。 

たとえば、以下は仮想化したサービスの例です。

  1. クライアントは、Parasoft 仮想アセットにリクエストを送信する。
  2. 指定された応答条件に基づいてメッセージ レスポンダーが選択される。
  3. 選択された Message Forward ツールを連結したメッセージ レスポンダーは、着信リクエストにレスポンスしない。
  4. メッセージ レスポンダーは、着信リクエストを仮想化されている実際のライブ サービスを呼び出す Message Forward ツールに提供する。
  5. Message Forward ツールは、ライブサービスからのレスポンスをメッセージ レスポンダーに提供し、それをクライアントへのレスポンスとして使用する。

Message Forward ツールの構成

Message Forward ツールは、複数レスポンス ビューまたはデータソース応答条件 (両方ではない) を使用するように構成されたメッセージ レスポンダーで使用できます。

  • データソース応答条件の場合: データソース応答条件で一致しない場合は、別のエンドポイントへ着信リクエストをリダイレクトします。
  • 複数レスポンス ビューの場合: 着信リクエストが複数レスポンスの応答条件に1つも一致しない場合、別のエンドポイントへ着信リクエストをリダイレクトします。

複数レスポンス ビューまたはデータソース応答条件の両方を使用しているメッセージ レスポンダーに対して Message Forward ツールを連結しないでください。

レスポンダー スイート内のすべてのメッセージ レスポンダーが失敗した (応答条件に一致しなかった) 時に、 Message Forward ツールを使用して別のエンドポイントにメッセージをルーティングする場合は、仮想化したメッセージをレスポンスするレスポンダーに加え、最後のレスポンダーにはメッセージを転送 (キャッチオールとして機能) するように適切にレスポンダスイートをセットアップします。

Message Forward ツールを追加するには、次の操作を行います。

  1. メッセージ レスポンダー ツールを右クリックし、 [出力の追加] を選択します。
  2. [転送] > [トラフック] > [すべてのツール] > [Message Forward] を選択します。



  3. メッセージのリダイレクト先 (エンドポイント) を指定するようにツール設定を構成します。
    • [トランスポート] タブの詳細についてはこちらを参照してください。
    • HTTP 接続を使用せずにローカルの Virtualize サーバー上の仮想アセットにプロキシを転送したい場合、実際のホスト名ではなく localhost または 127.0.0.1 を入力します。
    • デフォルト設定では、メッセージ レスポンダーが受信する適用可能な URL パス セグメントとパス パラメーターをこのツールは使用します。そのため、ツールの設定でそれらをハード コーディングする必要はありません。この動的なフォワードを実施したくない場合は [Forward incoming URL and path parameters] オプションを無効化してください。

      注意:
      • これらのフォワード パスは、HTTP メッセージ プロキシ フォワード パスと同じロジックを使って作成されます。 

      • このオプションが有効な場合、メッセージ プロキシが使用する「リッスン パス」は、連結されたメッセージ レスポンダーの URL パス応答条件です。「フォワード パス」は Message Forward ツールのルーター エンドポイントです。
      • 現在、ヘッダーは HTTP トランスポートのみで上書きできます。たとえば、MQMD ヘッダーや JMS プロパティ ヘッダーは、Message Forward ツールを上書きすることはできません。



      • [その他] タブでは、タイムアウトと有効な HTTP 応答コードを設定できます。これらのメトリクスが満たされない場合、イベントは Parasoft イベント詳細パースペクティブのイベント ログにレポートされます (この機能を使用するには、[ウィンドウ] > [パースペクティブを開く] > [その他] を選択し、パースペクティブ ダイアログから [Parasoft イベントの詳細] を選択します)。


内部トランスポートの使用

内部トランスポートを使用すると、内部エンドポイント タイプ (仮想アセットと内部トランスポート プロキシのいずれか) に フォワードすることができます。 

  • 仮想アセットにフォワードするには、[エンドポイント] > [仮想アセット] を選択し、仮想アセットの絶対パスを指定します ( [Virtualize Server] ビューから)。  Virtual Assets > folder > name の仮想アセットであれば、folder/name と入力します。  Virtual Assets > name の仮想アセットであれば、name と入力します。
  • 内部プロキシにフォワードするには、[エンドポイント] > [内部メッセージ プロキシ] を選択し、そのプロキシのプロキシ識別子を指定します。

無限ループを防止する

プロキシあるいは Message Forward ツールが誤って A> B> C> A のように転送サイクルを設定した場合、これは無限ループを引き起こします。無限ループを防止するために、Virtualize は 10 回のホップの後に停止するよう設定されています。この値は、システム プロパティ parasoft.proxy.loop.max.limit を設定することで変更できます (たとえば parasoft.proxy.loop.max.limit=5)。 

なお、このループの検出は内部経由の転送にのみ適用されます (たとえば、ローカル ホストへのルーティングには適用されますが、ホスト名へのルーティングには適用されません)。  

  • No labels