可以将消息转发工具附加到消息响应程序工具上,以便将消息转发给另一个端点(例如:实际资源、内部代理、虚拟资产等)。从端点返回的响应将用作消息响应程序返回的响应。
本章包含:
了解消息转发工具
可以将消息转发工具作为输出添加到消息响应器工具中,以便当消息响应器不处理传入请求时,消息转发工具将该请求定向到另一个端点。
例如,下面是一个虚拟化服务的例子:
- 客户端向 Parasoft 虚拟资产发送请求。
- 消息应答器是根据指定的相关性选择的。
- 所选的消息应答器有一个转发的消息,它没有对传入请求的响应。
- 该消息响应器提供传入请求以转发消息,这将调用正在虚拟化的实际活动服务。
- 消息转发工具向消息应答器提供一个来自活动服务的响应,然后消息应答器将其用作对客户机的响应。
配置消息转发工具
消息转发工具可以与消息响应器一起使用,此消息响应器被配置为使用多个响应视图或数据源相关性(但不能两者都使用)。
- 数据源关联:如果数据源相关性中没有匹配,它将把传入的请求重定向到另一个端点。
- 多响应视图:如果传入的请求与多个响应条件中的一个不匹配,它将把传入的请求重定向到另一个端点。
不要同时使用多个响应视图和数据源相关性将消息转发工具链接到消息响应器。
如果想在应答器套件中所有其他消息反应失败时使用消息路由消息转发到另一个端点,请使用正确的消息应答器设置响应器套件,其中,一些被配置为虚拟化消息,最后一个被配置为转发响应(作为一个 catch-all)。
若要添加消息转发工具:
- 请右键单击相关的消息响应程序工具,然后选择 Add Output。
- 选择 Forward> Traffic> All Tools> Message Forward。
- 配置工具设置以指定消息重定向到何处(到哪个端点)。
- 有关 Transport 选项卡设置的更多详情,请查阅:
- 如果希望工具在无需使用 HTTP 连接的情况下在本地 Virtualize 服务器上转发路由器端点,则输入 localhost 或 127.0.0.1(而不是实际主机名称)。
- 使用默认设置,此工具将使用附加消息响应器接收的适用 URL 路径段和路径参数。这样,您就不需要在工具配置中硬编码它们。如果不希望执行此动态转发,请清除 Forward incoming URL and path parameters 选项。.
注意:这些转发路径使用与 HTTP 消息代理转发路径相同的逻辑构造。 请查阅 使用消息代理。
- 如果启用此选项,则消息代理使用的“侦听路径”是附加的消息应答器的 URL 路径关联条件;“转发路径”是消息转发工具中的路由器端点。
- 目前,报头只能在 HTTP 传输中被覆盖。例如,MQMD 报头和 JMS 属性头不能通过消息转发工具覆盖。
- 在 Misc 选项卡中,您可以配置超时和有效的 HTTP 响应代码。如果这些指标不满足,事件将被报告到 Parasoft 事件详情透视图中可用的事件日志中(若要打开它,请选择 Window> Open Perspective> Other,然后在打开的 Select Perspective 对话框中选择 Parasoft Event Details )。
- 有关 Transport 选项卡设置的更多详情,请查阅:
使用内部传输
内部传输允许您转发到内部端点类型:虚拟资产或内部传输代理。
- 若要转发到虚拟资产,请选择 Endpoint> Virtual asset,然后指定虚拟资产的完整路径(从 Virtualize 服务器视图中)。 对于 Virtual Assets> folder> name上的虚拟资产,您将输入
folder/name
。 对于 Virtual Assets> name上的虚拟资产,您将输入name
。 - 若要转发到内部代理,请选择 Endpoint> Internal message proxy,然后指定分配给该代理的代理标识符。
防止无限循环
如果您的消息代理和/或消息转发工具无意中设置了一个转发闭环,如 A> B> C> A,这可能导致无限循环。为了防止这种循环,Virtualize 被配置为在 10 次跳之后停止转发。您可以通过设置系统属性 parasoft.proxy.loop.max.limit
(比如, parasoft.proxy.loop.max.limit=5
)来更改这一点。
注意,此循环检测仅适用于内部路由转发(例如,它适用于路由到本地主机,而不是路由到主机名)。