本主题解释如何从通讯报文日志中捕获的通讯报文中创建固定的消息响应程序。

本章包含:

从通讯报文中创建固定消息虚拟资产

请求和响应的 HTTP 数据头必须包含包含 XML 或 JSON 内容类型的内容类型头。例如:

Content-Type: application/json; charset=UTF-8

Content-Type: text/xml; charset=UTF-8

消息必须格式正确,以便能够从通讯报文中自动成功创建响应程序。

当从通讯报文中创建消息响应器时,保持控制台视图可见是很有帮助的。此视图将显示在处理通讯报文文件时生成的任何警告、错误和信息消息。

若从通讯报文文件自动创建和部署“固定消息”消息响应器,请完成以下内容:

  1. 在可用的创建向导中选择 Traffic> Generate Fixed Messages 选项。
  2. 单击 Next 并选择以下选项:
    1. 在 File Path 字段中指定通讯报文文件的路径。
    2. 如果需要,请选择下拉菜单 Character encoding 的字符编码。
    3. 在“响应策略”部分中选择默认响应程序模式(请参阅 Response Strategies)。 
  3. 单击 Next  并指定消息分组选项(请参阅 Messaging Group Options)。
  4. (仅限 MQ 和 JMS)单击 Next 并指定 MQ 或 JMS 连接设置。
  5. 单击 Next 单击并完成邮件分组审阅屏幕中的选项(请参阅 Message Grouping Review Screen)。  
  6. 单击 Next  ,然后在部署虚拟资产屏幕中指定要创建的虚拟资产的名称和部署路径。有关其他信息,请参阅 配置单个虚拟资产部署设置。 。
  7. 单击 Finish ,创建资产。对于 XML 消息,可以单击 Next 配置动态消息(可选)。 
  8. 动态消息使用从传入消息中提取的数据来参数化响应消息或头元素。您可以为每个要参数化的操作完成配置动态消息屏幕。完成每个屏幕后,单击 Next 前进到下一个操作。有关如何配置动态消息的更多详情,请查阅 Completing the Configure Dynamic Messages Wizard
  9. 单击 Finish

然后,Virtualize 创建消息响应器并将它们部署到本地虚拟化服务器。

请求消息将根据在消息集中检测到的不同操作进行分组分析。每个操作都会产生一个消息响应器。对于 SOAP 消息,直接使用 Body 下的元素名作为操作名。对于纯 XML,根元素用于确定操作。

响应策略

响应策略确定要配置的消息组的默认响应程序模式。您可以在向导的另一个屏幕中更改单个消息组的响应程序模式,但此选项配置添加到套件中的响应程序的基线行为。可以指定以下其中一种响应策略:

Correlated

此选项以多响应模式生成响应程序。在此模式下,将根据请求相关性发送响应消息。有关其他信息,请查阅 多响应 。 

在某些情况下,向导可能会返回到序列响应或文字模式。如果 Virtualize 未检测到相关条件,则可能会发生这种情况。如果需要返回到备用模式,则如果在通讯报文文件中检测到同一请求的不同响应,则 Virtualize 将使用序列响应模式(请参阅 序列响应)。如果所有响应都相同,则 Virtualize 将返回到文本响应模式(请参阅 文字)。

Sequence此选项以序列响应模式生成响应程序。有关其他信息,请查阅 序列响应
Single response此选项将从消息组中选择单个消息对,并以文字模式生成响应程序。请查阅 文字

消息传递分组选项

您可以指定以下消息组选项。

None没有分组。为通讯报文文件中的每个响应消息生成一个响应器。如果希望每个请求/响应对位于单独的消息响应器中,请使用此选项。
Based on operation/type根据操作或消息类型对消息进行分组。这对于包含可以通过操作或格式的消息类型(即,SOAP 主体下元素的名称、纯 XML 消息中根元素的名称或指定消息格式的消息类型)。为在通讯报文文件中发现的每个操作/类型生成一个响应器。
Based on similar requests根据请求消息结构对消息进行分组。这告诉 Virtualize 分析请求消息结构并将请求/响应分组到响应程序中,以便每个响应程序将包含与具有类似结构的请求相关的响应。当消息具有相同的 DOM 树模型时,即使它们具有不同的值,也会被认为是“相似的”。此选项用于优化和简化将请求与每个消息响应器中的响应关联的规则。
Based on similar responses根据响应消息结构对消息进行分组。这告诉 Virtualize 分析响应消息结构并将请求/响应对分组到响应程序中,以便每个响应程序将包含具有类似结构的响应。当消息具有相同的 DOM 树模型时,即使它们具有不同的值,也会被认为是“相似的”。此选项用于生成为数据源参数化优化的消息响应程序。由于消息响应器中的所有响应都是类似的,因此可以更容易地为每个响应器生成数据源,以创建数据源驱动的资产。

消息分组审阅屏幕

消息分组审阅屏幕中的列基于应用的分组策略。每个表行表示定义组的标准。将为每个表行生成一个组。将为每个组生成一个响应程序。有关使用此屏幕的完整信息,请参阅“自定义分组条件”部分。

相关条件将按它们在表中的显示顺序(从上到下)进行处理。有关如何创建这些分组的详细信息,请查阅 了解按操作类型分组的启发式

您可以 可以使用控件添加、修改、重新排序和删除分组条件。如果更改条件,请确保在继续之前单击 Regroup 。

Autoconfig 选项允许 Virtualize 为指定组自动配置消息响应程序。禁用 Autoconfig 选项为每个消息组手动配置消息响应程序(请参阅 Configuring Request Mapping Options)。

当消息组中有多个请求且路径、参数或正文存在差异时,自动配置通常可用。如果“自动配置”框灰显,则表示此组不可用“自动配置”;有关无法自动配置特定组的原因的详细信息,请参阅该项的工具提示。

有关面板顶部列出的任何项目(已处理对、未处理对、与组不匹配的消息等)的详细信息,请单击关联的超链接。

若要查看与特定响应程序关联的消息和/或更改响应程序和数据集名称,请单击 Count 列中的相关行。

配置请求映射选项

“请求匹配”屏幕允许您重新映射请求/响应对,并自定义用于确定虚拟资产的响应消息的参数值。有关在“请求匹配”屏幕中配置选项的完整详细信息,请参阅 定制请求匹配和关联 章节。

完成“配置动态消息”向导

对于请求消息中的每个操作,Virtualize 都显示一个 Configure Dynamic Messages 向导页面。 Response 选项卡显示响应消息的所有可能元素,并允许您使用从传入请求消息中提取的值对这些元素进行参数化。Transport Header 选项卡允许参数化数据头值和属性。

若要参数化 Response or Transport Header 选项卡中的值,请完成以下内容:

  1. 选择应该使用提取值的项。
    • 如果要对响应消息中的元素进行参数化,请在 Response 选项卡的左窗格中的响应树中选择该元素。
    • 如果要参数化头值或属性,请在 Transport Header 选项卡中选择适当的传输和类别。如果想参数化一个尚未显示的数据头值,现在就添加它。
  2. 选择 Parameterized,然后选择 Use Data Source Wizard





  3. 在打开的向导中,完成以下内容:
    1. 在这一页的顶部,选择要从中提取值的传入请求消息,然后指定是否要从消息主体或消息数据头中提取值。
    2. 使用面板左侧的控件,指示要提取的内容并将其添加到面板右侧。后侧面板列出了为提取物配置的值,并显示了将存储这些值的数据源列的名称(如果保留默认设置)。
    3. (可选项)如果希望指定额外选项(比如,如果希望更改用来存储值的列名,则希望值保存到可写数据源汇总,或者希望值存储到现有变量),或者,如果希望修改高级 Xpath 设置,则选择右侧表中合适的元素并单击 Modify。接下来,根据需求配置选项,然后单击 OK。可用选项在 每个提取元素的选项中进行描述。

单击 Finish 完成向导后,XML 数据库工具(或数据头信息数据库工具,用于数据头信息)将自动添加到生成的消息响应器中。 



这些工具已经配置为执行向导中指定的提取(${} 符号将用于访问参数化的值)。例如,请注意以下消息响应器如何设置为使用从消息请求中提取并保存到 titleKeyword 列中的值:



如果想修改提取,请打开工具的配置面板,然后按照 XML 数据库 和 Header Data Bank中的描述自定义可用设置。

部署虚拟资产

如果在虚拟资产文件夹中创建 .pva,则在向导完成时,虚拟资产将自动部署到本地虚拟化服务器。否则,您可以随时将其部署到本地或远程服务器。 

有关部署过程和选项的更多详细讨论,请查阅 Deploying Virtual Assets

自定义虚拟资产

关于如何自定义消息响应程序行为的更多详情,请查阅 消息响应程序概要

  • No labels