Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Published by Scroll Versions from space FUNCTDEV and version SOAVIRT_9.10.6_CTP_3.1.2

本主题解释如何配置不同的消息响应程序,发送与传入的请求消息相关的响应消息。消息响应程序可以从流量文件创建,该文件捕获了实际行为,或从 本主题解释如何配置不同的消息响应程序,发送与传入的请求消息相关的响应消息。消息响应程序可以从通讯报文文件创建,该文件捕获了实际行为,或从 WSDL、OpenAPI/Swagger/RAML 定义和 XML 模式类似的定义生成。还可以手动创建。

...

这些选项仅适用于转换为 XML 或从 XML 转换的格式。

  • 格式:Format选择用于响应负载的格式。
  • 在表单输入或表单 XML 模式中,使用 XML 而不是 Respond with XML instead of [native format] 进行响应:when in Form Input or Form XML mode如果禁用(默认),Virtualize 会在发送消息之前自动将 XML 模型转换为本机格式。  换句话说,Virtualize 会向服务器发送本机格式,这就是您在流量视图器中所看到的。
    • 如果启用该选项,Virtualize 将发送您在 UI 中为响应配置的消息。  您可以通过使用文字或脚本视图以本机格式创建消息负载。  如果禁用该选项并在 UI(例如,使用表单输入视图)中创建 XML,则 Virtualize 将发送未更改的 XML。对于当前支持的格式,通常不希望这样做,但是 Virtualize 使此选项可用。

...

这些选项仅适用于转换为 XML 或从 XML 转换的格式。

消息类型:

  • 消息类型:Message type指定要使用的消息类型。这允许 Virtualize 填充表单输入视图。
  • 模式 Schema URL:说明可访问该服务的模式 URL。可以输入值或单击 Browse 按钮。如果没有模式,则可以将该字段保留为空。
  • 对模式的约束:Constrain to Schema确定某些工具参数包含的值是否来自模式而非手动输入。  如果启用该选项,则禁用掉某些参数并从模式 中获取它们的值。如果禁用该选项,则 Refresh Schema 按钮也将被禁用。

...

Definition 选项卡中指定选项允许 Virtualize 使用让您更易指定响应消息的项填充 Response 选项卡。您可以指定与 WSDL 或 schema 相关的以下设置,定义预期的请求和输出响应:

  • 服务定义:Service Definition指定响应程序是否与服务定义(RAML、OpenAPI/Swagger、WSDL 或 Schema)相关联。对于纯 XML,请选择 None。当指定了服务定义,并且该工具受到了 WSDL 或 schema 的约束,则将自动向可应用的表单视图中填充合适的字段值和控件(例如,布尔值的单选按钮、数字与整数的不同控件,枚举的下拉列表)。它也防止输入无效的消息(例如,消息缺失必要值、不正确类型的值、schema 中未指定的方法/资源/响应代码等等)。编辑将受到限制,以确保消息符合相关的模式(例如,将无法对树节点进行插入、删除、重命名、复制或粘贴操作)。
  • 针对 For RAML 服务定义模式Service Definition Mode
    • RAML URL:特定的 RAML URL,或引用 RAML URL 的变量。
  • 针对 For OpenAPI/Swagger 服务定义模式Service Definition Mode
    • OpenAPI/Swagger URL:特定的 OpenAPI/Swagger URL,或引用 OpenAPI/Swagger URL 的变量。
    针对
  • For WSDL 服务定义模式Service Definition Mode
    • WSDL URL: 说明可访问该服务的 WSDL URL。您可以输入值或单击 Browse 按钮。如果没有 WSDL,则可以将该字段保留为空。
    • Constrain to WSDL 确定某些工具参数包含的值是否来自 Schema 而非手动输入。  如果启用该选项,则禁用掉某些参数(例如,路由器端点、SOAP 操作、SOAP 主体和头参数)并从 WSDL 中获取它们的值。如果禁用该选项,则 Refresh WSDL 按钮也将被禁用。
    • WSDL 文档: Documentation(如果可用,自动完成):说明给定 WSDL URI 的服务。
    针对
  • For Schema 服务定义模式Service Definition Mode
    • Schema URL:说明可访问该服务的 Schema URL。您可以输入值或单击 Browse 按钮。如果没有 schema,则可以将该字段保留为空。
    • Constrain to Schema 的约束:确定某些工具参数包含的值是否来自 Schema 而非手动输入。  如果启用该选项,则禁用掉某些参数并从 schema 中获取它们的值。如果禁用该选项,则 Refresh Schema 按钮也将被禁用。
    • XML 消息类型: Message Type确定响应选项卡的表单输入控件是针对 SOAP 消息还是纯 XML 消息。如果选择纯 XML,则表单输入模式将直接表示消息。如果选择 SOAP,则表单输入中配置的 XML 将用 SOAP 信封包装起来,并且视图将提供 SOAP 头部分,允许在需要时配置 SOAP 头。

...

您可以通过在以下 Responder Correlation 选项卡区域指定消息响应程序接收的消息:

  • 传输:Transport允许您在消息中指定 HTTP 头、JSM 消息属性或 MQ 消息字段,这些字段将确定消息是否由此特定响应程序处理。有关更多详情,请查阅 Transport Correlation
  • 请求体:Request Body允许您在消息中指定 XPath,这将确定是否处理该消息。有关更多详情,请查阅 Request Body Correlation
  • URL 参数(用于 RESTful 服务):Parameters (for RESTful services)允许您指定 URL 参数,这将确定是否处理该消息。您可以配置相关性以匹配包含特定参数(无论它们被设置为什么)的所有信息,或者,仅匹配设置为特定值的特定参数的消息)。URL 参数可以是重复的(您可以拥有设置为不同值的相同参数)。有关更多详情,请查阅 URL Parameter Correlation
  • URL 路径: Path允许您指定 URL 路径,这将确定是否处理该消息。有关更多详情,请查阅 URL Path Correlation
  • HTTP 方法: Methods允许您指定 URL 方法,这将确定是否处理该消息。有关更多详情,请查阅 HTTP Method Correlation
  • 自定义:Custom允许您指定自定义响应程序关联性,其基于使用 Java 或脚本语言编写的自定义方法的返回值。有关更多详情,请查阅 Custom Correlation
  • ISO 8583 关联性: Correlations允许您为 ISO 8583 消息指定关联性。有关更多详情,请查阅 使用 ISO 8583 。这些选项专门设计用于 SOAP、纯 XML 和文字消息响应程序。

...

  1. 选择 Enable correlation 多选框。
  2. 点击 编辑 Edit 按钮。将显示一个编辑 XPath 函数对话框。
  3. 从 Element 树选择元素,从 Function 下拉菜单选择函数,然后单击 OK
  4. 请进行下列其中一项操作:
    • 如果显示传入请求消息的树表示形式,则选从树中选择元素并从 Function 下拉菜单中选择函数。
    • 如果没有可用的请求树表示形式,或者如果树形式没有完全显示提取和评估感兴趣的元素或属性,则手动提供一个 XPath 表达式。为了实现关联性,Virtualize 支持的 XPath 表达式基于 W3C 的标准 Xpath 1.0 标准。
  5. 如果希望制定任何额外的 XPath,则以相同的方式添加它们。

...

  1. 选择 Enable correlation 多选框。
  2. 如果希望关联性仅(不多不少)应用请求拥有此表中指定的 exact URL 参数的时候,则勾住 Correlate only when the list of parameters matches exactly。否则,任何包含列出的参数和其他参数的请求都将相互关联。无论该选项是启用的还是禁用的,缺乏其中一条指定参数的消息都将不匹配。



  3. 单击 Add 按钮。将显示一个新的条目行。
  4. 输入 参数名称 Parameter Name
  5. 请进行下列其中一项操作:
    • 如果想匹配设置此参数的特定值的消息:在 Value Value 下输入其值。



    • 如果想匹配包含此参数(不管它被设置为什么值)的所有消息:选择 Correlate whenever the parameter name is present regardlessof value。 

...

  • http://myvirtserver:9080/MyAsset/MyPath/segment1/
  • http://myvirtserver:9080/MyAsset/MyPath/segment3/segment1/segment2

在 * 匹配 0 或更多字符以及 ** 匹配 0 或更多路径的地方可使用 Ant 风格的通配符。使用此格式:或更多路径的地方可使用任何风格的通配符。使用此格式:

  • /**/abc 匹配 /abc 或 /this/that/abc
  • /abc/** 匹配  /abc/abc/this/that/theother
  • /ab** DO NOT 匹配 不匹配 /abc/d  (它被解释为您使用了单个星号 /ab*); 不匹配 /absolutely
  • /**bc  DO NOT 匹配  不匹配  /0/abc (它被解释为您使用了单个星号 /*bc);不匹配 /abc

...

  1. 确保在 Virtualize 中配置了数据源,并可用于消息响应程序。
  2. Data Source Correlation 选项卡中合适的地方单击 添加 按钮,提供 Add 按钮,提供 XPath、URL 参数、URL 路径和/或标准表达式,然后选择合适的列名。在执行部署的虚拟资产时,Virtualize 将从请求中提取特定值,然后在指定列中搜索与与提取值对应的匹配项。如果找到匹配项,将使用相应数据源行中的数据填充响应
    • 如果多次指定相同的列名(例如,在 URL 参数和 URL 路径中),则将会设置一个值;前面的值将被重写。
    • 如果提供 WSDL,则可使用 编辑 Edit 按钮生成 XPath。该对话框实时验证 XPath 表达式和列名。
    • 如果您选择自定义它们而不是使用可视的 编辑 Edit 选项,则 Virtualize 在键入或编写 XPath 表达式的时候对 XPath 语法进行验证。
    • 可以在数据源列中使用通配符。
    • 表达式(例如, [> "55"], [like "alpha?beta*"], [like "*b*" 或类似 "*a*" 和类似 "*z*"])  can be used as described in Criteria Expressions for Matching Values with the Message Responder.
    • 有关可用配置选项的更多详情,请查阅以下 Data Source Correlation Options
  3. 通过引用同一数据源中的其他数据源列(例如,表单输入、表单 XML 等),对消息响应程序的响应区域进行参数化。您可以向列名映射中添加多个 XPath 或 URL 参数。

...

  1. 单击 Add 按钮。将在附件表中显示一个 XML Attachment 条目。
  2. 双击 XML Attachment 条目。将显示一个 Edit Attachments 对话框。
  3. 在编辑附件对话框中,从 Mode 下拉菜单中选择 XMLBinary
  4. 配置附件
    • XML 模式有以下选项:
      • 查看:Views从下拉菜单中选择所需视图并相应地进行配置。
    • Binary 模式有以下选项:
      • Base 64 编码 Encoding: 启用 Base 64 编码,对二进制值进行编码。
      • 数据源列:Data Source Column选择发送来自数据源列的值。
      • 文件:File选择发送来自文件的值。通过单击 Browse 按钮选择所需的文件。如果要将该文件的路径作为当前配置文件的相对路径来保存,则选择 作为相对路径保存 选项。
      • 文本:选择发送文本值。
      • Persist as Relative Path 选项。
      • Text选择发送文本值。
      • Content type内容类型:指定内容类型。如果想对附件头信息进行添加/更改或删除操作,请单击 Edit Headers 按钮。

...

允许指定如何返回消息。例如,模拟工作或有故障的服务。若要使用默认值 200 OK,则选择 Use Default Return Status 多选框。如果未选择此选项,则可使用以下选项:

  • 返回状态:Return Status输入自定义返回状态值。如果数据源可用,则可参数化该值。
  • 返回消息:Return Message输入自定义返回消息。如果数据源可用,则可参数化该值。

...

性能

允许设置与消息响应程序执行时间关联的以下选项:

  • 性能组:Performance group如果正在使用性能配置文件,则可以使用该控件设置或更改此响应程序的性能组。有关性能配置文件的更多详情,请查阅 Working with Performance Profiles
  • 判断时间:Think time输入想要消息延迟模拟(如,模拟慢速服务)的时间(以毫秒为单位)。这个时间将被添加到 a)执行时间,即从服务器完成接收请求到响应开始发送请求的时间 b)性能配置文件指定的任何额外时间,如 Working with Performance Profiles中所述。如果数据源可用,则可参数化该值。

风格/使用

这些选项允许您选择消息的正文风格和编码:

  • 正文风格:Body Style启用 documentrpc
  • 使用:Use启用 encodedliteral
  • 编码风格 URI:Encoding Style URI:(如果可用,自动完成)列出用来发送请求的编码风格 URI。
  • 目标对象 URI:Target Object URI:指定目标对象 URI

附件封装格式

指定是否使用 DefaultCustom 封装格式。Default 选项指定选择什么作为首选项面板中的附件封装格式。Custom 选项允许选择 MIMEDIMEMTOM AlwaysMTOM Optional。有关更多详情,请查阅 使用附件

...

  1. 在消息响应程序工具的 WSDL URL 字段中输入 WSDL。
  2. 右键单击 消息响应程序 节点,然后选择 添加输出。将显示 添加输出 向导。 Message Responder 节点,然后选择 Add Output。将显示 Add Output 向导。
  3. 在添加输出向导中,从左窗格选择  Incoming Request ,右窗格选择 XML Data Bank ,然后单击 Finish在添加输出向导中,从左窗格选择 传入请求 ,右窗格选择 XML 数据库 ,然后单击 完成
  4. 双击 Message Responder 节点下的 Incoming Request> XML Data Bank 节点。XML 数据库配置面板将显示在右侧 GUI 面板中。
  5. 在右侧 GUI 面板中,添加想要在脚本中访问的值的 XPath。



  6. 双击 Message Responder 节点。消息响应程序配置面板将显示在右侧 GUI 面板中。
  7. Response 选项卡中,请选择 Scripted 视图。
  8. 指定逻辑。以下是访问数据源和数据库值的基本模板:

    Code Block
    def customLogic(context):
        # Retrieve the data source value. "Data Source Name" should be replaced
        # with the name of your data source and "Column Name" should be the column
        # that your value is coming from. You can access many columns from the same
        # data source within this script. For Data Bank values, the table is always
        # named "Generated Data Source" so you only need to replace "Data Bank Column Name"
        dataSourceValue = context.getValue("Data Source Name", "Column Name")
        dataBankValue = context.getValue("Generated Data Source", "Data Bank Column Name")
        # add custom logic that uses value from data source
     
    # The following method tells what data source you will be using in this script. 
    # "Data Source Name" should be replaced with the name of your data source
    def addDataSources(context):
        return "Data Source Name"


  9. Method 组合框中选择合适的方法。您选择的方法应该是您的入口点。在上述示例中,方法是 customLogic()

...

  1. 选择 Message Responder 节点并单击 添加响应程序或输出 按钮。将显示 添加输出 向导。 Add responder or output 按钮。将显示 Add Output 向导。
  2. 在添加输出向导中,从左窗格选择 传入附件 ,右窗格选择 附件处理器 ,然后单击 完成 Incoming Attachment,右窗格选择 Attachment Handler ,然后单击 Finish
  3. 双击 AttachmentHandler 节点,然后在工具配置面板汇总对工具进行配置。
  4. (可选项)选择 Message Responder 节点下的 Attachment Handler 节点,然后单击 Add Responder or Output 按钮。将显示 Add Output 向导,您可以从中添加一个编写文件工具,将附件作为二进制文件输出。

...