多响应生成器是一个功能强大的工具,允许你轻松地处理分层数据场景、一对多异步消息传递等等。多响应生成器是一个功能强大的工具,允许您轻松地处理分层数据场景、一对多异步消息传递等等。
在本章节中:
...
- 从 Parasoft 应用商店下载的存档中提取多响应生成器 JAR 文件。
- 从主菜单中打开并选择 Parasoft> Preferences> System Properties 。
- 单击 Add JARs… 并浏览到多响应生成器 JAR 文件。
- 单击 OK ,然后重启 Virtualize。
执行此设置后,你将发现工具列表中的多响应生成器工具可用于附加到消息响应程序。执行此设置后,您将发现工具列表中的多响应生成器工具可用于附加到消息响应程序。
配置
多响应生成器使用两组主要选项进行控制。Required 部分中的选项是多响应生成器运行所必需的,而 Optional 部分中的选项为高级场景提供了更细粒度的控制。
...
要发送到后端资产的元素的名称Name of element to send to backend asset | XML 元素名称,如果适用,包含命名空间前缀。传入的 XML 中与此名称匹配的元素的每次出现都将被分割并发送到后端资产 URL 中指定的虚拟资产。此外,如果请求中存在多个列表,则此工具将创建所有列表元素的组合。如果要使用单个列表,请排除任何其他列表。 |
---|
后端资产路径Backend Asset Path | 指定后端虚拟资产正在监听的 HTTP 路径。如果指定了完整的 URL,则只使用路径段。虚拟资产应该有一个响应程序,该程序处理其根元素在 Name of element to send to backend asset 设置中定义的 XML 消息。 |
---|
可选配置
分裂过程不包含的元素Elements excluded from splitting proces | 以逗号分割的元素名称列表,如果适用,包含命名空间前缀。默认情况下,如果要发送到后端资产选项的元素名称汇总指定的 XML 包含任何具有相同名称的兄弟元素(比如,列表),则多响应生成器将为兄弟元素的每次重复创建一个单独的请求。 |
---|
相应类型Response Type | 如果 Backend Asset URL 中指定的虚拟资产返回 XML,则将该字段保留为空。如果 Backend Asset URL 中指定的虚拟资产返回非 XML 格式的负荷,则输入 Other 。 |
---|
输出 根标签名称Root Tag Name | 响应 XML 输出的根标签名称。默认为 responses 。 |
---|
输出 Output XML | 输出 XML 根标签名称的子元素名称。默认为 response 。 |
---|
SOAPAction |
---|
列表List | 对于以逗号分割的列表中指定的每个 SOAPAction,要发送给后端资产的元素名称中指定的元素的每次出现都将使用该 SOAPAction 发送到 Backend Asset URL。如果每个元素出现都需要多个响应,则这一点非常有用。 |
---|
性能配置
使用线程池Use thread pool | 启用此选项(设置为 true )以向后端虚拟资产发送并发请求。默认为 false 。 |
---|
线程池类型Thread pool type | 指定池类型,以用于对后端虚拟资产发出并发请求的线程。选项有 FIXED 或 CACHED 。 如果使用了 FIXED 选项,则最大线程数由 Number of threads 选项绑定。 如果使用了 CACHE 选项,则任何需要发送请求且所有可用线程当前都处于繁忙状态的时候,都会创建一个新线程。 默认为 CASHED 。 |
---|
线程数Number of threads | 指定可在给定时间执行的对后端资产的并发请求的最大数量。此选项适用,然后将 Thread pool type 选项设置为 FIXED 。默认为 100 。 |
---|
使用说明
多响应生成器可被附加到 Parasoft Virtualize 消息响应程序的任何 XML 输出中。这包含任何基于 XML 的响应程序的 Incoming Request > Payload ,或任何不是基于 XML 的响应程序的 Incoming Request > Payload Converted to XML 。下面描述了使用多响应生成器的基本过程。 Example Scenarios中提供了更详细的描述。
...
- 使用一个或多个响应程序创建一个前端资产:
- 右键单击 VirtualAssets 项目,然后选择 Add New> Virtual Asset (.pva) File。
- 提示时,在 File Name 字段中输入
Example1-Frontend
,然后单击 Next。 - 在下一个屏幕上的选项列表中选择 Empty ,然后单击 Finish。
- 右键单击新创建的 Example1-Frontend.pva 中的 Responder Suite ,然后选择 Add New > Responder。
- 在出现的窗口中,选择 Literal Message Responder,然后单击 Finish。
- 对于需要它的每个响应程序,将多响应生成器附加到消息响应程序的 Incoming Request> Payload 输出(如果响应程序将处理 XML 输入)或消息响应程序的 Incoming Request> Payload Converted to XML 输出(如果响应程序将处理非 XML 输出。
- 右键单击 Literal Message Responder ,然后选择 Add Output…
- 在出现的窗口中,在传入请求部分选择 Payload ,然后在常见工具下选择 Multiple Responses Generator 。
- 单击 完成。
- 使用至少一个 Name of element to send to backend asset 和 Backend Asset URL配置多响应生成器。
- 在 要发送到后端资产的元素名称字段中,Name of element to send to backend asset 中,输入
item
。 - 在 Backend Asset URL 字段中,输入
http://localhost:9080/Example1-Backend
。 - 在 Optional 部分,输入
itemResponses
。 创建后端资产来处理多响应生成器将发送的消息。确保后端资产部署在多响应生成器中的 Backend Asset URL 中指定的 URL 上。
Info |
---|
为了简单起见,我们将在后端使用固定响应。然而,从应用商店下载的归档中的 Example1-Backend.pva 使用动态响应。 |
- 右键单击 VirtualAssets 项目,然后选择 Add New> Virtual Asset (.pva) File。
- 提示时,在 File Name 字段中输入
Example1-Backend
,然后单击 Next。 - 在下一个屏幕上的选项列表中选择 Empty ,然后单击 Finish。
- 在新创建的 Example1-Backend.pva 中,右键单击 Responder Suite ,然后选择 Add New > Responder。
- 在下一个屏幕上选择 Literal Message Responder ,然后单击 Finish。
输入以下 XML:
Code Block |
---|
|
<itemResponse>
<balance>10</balance>
</itemResponse> |
- 将 XML 数据库或文本数据库附加到多响应生成器的响应 XML 输出,并配置它以提取聚合的响应。
- 在 Example1-Frontend.pva 中,右键单击 MultipleResponsesGenerator ,然后选择 Add output…
- 在左侧选择 Response XML ,然后在右侧选择 XML Data Bank 。
- 单击 Add XPath
- 单击 Selected XPaths 列中出现的行,然后单击 Modify。
- 将 Xpath 字段更改为
/*
- 从 Extract 下拉 菜单选择 Entire Element 。
- 在编辑器左侧选择 Data source column ,然后在 Custom column name 字段中输入响应。
- 单击 OK。
若要在响应中使用聚合的响应,则双击 Literal Message Responder ,并将以下内容输入至文本字段:
Code Block |
---|
<root>
${responses}
</root> |
...