可以将消息转发工具附加到消息响应器工具上,以便将消息转发给另一个端点(例如:实际资源、内部代理、虚拟资产等)。从端点返回的响应将用作消息响应器返回的响应。
章节目录:
了解消息转发工具
可以将消息转发工具作为输出添加到消息响应器工具中,以便当消息响应器不处理传入请求时,消息转发工具将该请求定向到另一个端点。
例如,下面是一个虚拟化服务的例子:
- 客户端向 Parasoft 虚拟资产发送请求。
- 消息响应器是根据指定的相关性选择的。
- 所选的消息响应器有一个转发的消息,它没有对传入请求的响应。
- 该消息响应器将传入请求提供给消息转发,这将调用正在虚拟化的实际活动服务。
- 消息转发工具向消息响应器提供一个来自活动服务的响应,然后消息响应器将其用作对客户端的响应。
配置消息转发工具
消息转发工具可以与消息响应器一起使用,此消息响应器被配置为使用多个响应视图或数据源关联性(但不能两者都使用)。
- 数据源关联:如果数据源关联性中没有匹配,它将把传入请求重定向到另一个端点。
- 多响应视图:如果传入请求与多个响应条件中的一个不匹配,它将把传入请求重定向到另一个端点。
请勿同时使用多响应视图和数据源关联性来链接消息转发工具与消息响应器。
如果想在响应器套件中所有其他消息反应失败时使用消息路由消息转发到另一个端点,请使用正确的消息响应器设置响应器套件,其中,一些被配置为虚拟化消息,最后一个被配置为转发响应(作为一个 catch-all)。
若要添加消息转发工具:
- 请右键点击相关的消息响应器工具,然后选择添加输出。
- 选择转发> 通讯报文> 所有工具> 消息转发。
- 配置工具设置以指定消息重定向到何处(到哪个端点)。
- 有关传输选项卡设置的详情,请参阅:
- 如果想让工具转发到本地 Virtualize 服务器上的路由器端点而不消耗 HTTP 连接,请输入 localhost、
127.0.0.1
或特殊主机名host.virt.internal
。使用 localhost 或127.0.0.1
时,指定的端口必须与 Virtualize 部署的端口一致;使用host.virt.internal
时,则不使用该端口。例如,部署在 http://localhost:9080/myVirtualAsset 上的虚拟资产也可通过 http://host.virt.internal/myVirtualAsset 访问。 - 使用默认设置,此工具将使用附加消息响应器接收的适用 URL 路径段和路径参数。这样,您就不需要在工具配置中对其进行硬编码。如果不希望执行此动态转发,请取消勾选转发传入的 URL 路径和参数选项。
注意:这些转发路径使用与 HTTP 消息代理转发路径相同的逻辑构造。
- 如果启用此选项,则消息代理使用的“监听路径”是附加的消息响应器的 URL 路径关联条件;“转发路径”是消息转发工具中的路由器端点。
- 目前,头部只能在 HTTP 传输中被覆盖。例如,MQMD 头和 JMS 属性头不能通过消息转发工具覆盖。
- 在杂项选项卡中,您可以配置超时和有效的 HTTP 响应代码。如果这些指标不满足,事件将被报告到 Parasoft 事件细节透视图中可用的事件日志中(若要打开它,请选择窗口> 打开透视图> 其他,然后在打开的选择透视图对话框中选择 Parasoft 事件细节)。
- 有关传输选项卡设置的详情,请参阅:
使用内部传输
内部传输允许您转发到内部端点类型:虚拟资产或内部传输代理。
- 若要转发到虚拟资产,请选择端点> 虚拟资产,然后指定虚拟资产的完整路径(通过 Virtualize 服务器视图)。 对于虚拟资产> folder> name 上的虚拟资产,输入
folder/name
。 对于虚拟资产> name 上的虚拟资产,输入name
。 - 若要转发到内部代理,请选择 端点> 内部消息代理,然后指定分配给该代理的代理标识符。
防止无限循环
如果您的消息代理和/或消息转发工具无意中设置了一个转发周期,如 A> B> C> A,这可能导致无限循环。为了防止这种循环,Virtualize 被配置为在 10 次跳之后停止转发。您可以通过设置系统属性 parasoft.proxy.loop.max.limit
(例如,parasoft.proxy.loop.max.limit=5
)进行更改。
注意,此循环检测仅适用于内部路由转发(例如,它适用于路由到本地主机,而不是路由到主机名)。