本主题提供关于虚拟化 ISO 8583 服务的技巧。

本章包含:

概要

ISO 8583 是一个通用接口。通过该接口,金融交易卡发出的信息可以在收购者和发卡者之间交换。

Parasoft Virtualize 可以使用多种消息打包配置对 ISO 8583 消息类型上的应用程序行为进行虚拟化。Parasoft Virtualize 允许对这类消息进行可视化建模,以及相关和动态响应逻辑的可视化配置(包括使用数据源)。

跨内置传输(如 HTTP 或 Mq)支持 ISO 8583 消息传递。若要通过 ISO 8583 传输发送消息,首先安装 ISO 8583 监听器插件,它可以在 Parasoft 应用市场上下载。此插件使用了 Using Custom Transports, Message Formats, and Tools 中描述的可扩展性 API。

录制 ISO 8583 消息

如果通过 HTTPS、MQ 或 JMS 交换 ISO 8583 消息,则使用相关向导记录它们。有关更多详情信息,请查阅:

目前不支持通过其他传输通道进行记录。

为 ISO 8583 配置消息响应器

配置一个 ISO 8583 消息包装程序

在为 ISO 8583 配置消息响应器之前,需要选择合适的包装程序。为此:

  1. 请打开消息响应程序配置面板。
  2. Service Options 选项卡中,选择 ISO 8583 Packager 并选择合适的包装器。可用的选项基于 jPOS 提供的配置(www.jpos.org)。每个配置都建立消息中允许的字段 Id,以及它们应该具有的数据类型和长度。
    从下拉菜单中选择 Custom 将允许你浏览到用于描述特定消息配置的 packager 文件。自定义打包器是基于 JPOS 的 XML 文件。有关此类 packager 文件的示例,请参阅 www.jpos.org。可以在以下位置找到各种 XML 打包器配置: http://jpos.svn.sourceforge.net/viewvc/jpos/trunk/jpos6/modules/jpos/cfg/packager/。



配置响应消息

如果可用 ISO 8583 消息的文字(文本)表示,可以将其粘贴到消息响应器的文字视图中,然后切换到表单 ISO 8583 视图。如果所提供的消息与所选的 packager 不一致,则会显示一条错误消息,向表单视图的转换将失败。

或者,如果样例消息不可用或格式是二进制的,则可以使用表单 ISO 8583 视图从头构建响应消息。此视图包含用于定义消息主体和消息头的单独选项卡。


当数据源可用时,可以参数化这些选项卡中的字段值;请查阅see Parameterizing Tools with Data Source Values, Variables, and Extracted Values

可以使用 Add 按钮添加新字段。选择一个或多个字段(选择多个字段时按住 CTRL),然后单击 Remove 以删除所选字段。当选择一个字段时,也可以拖动它。

字段在任何 ISO 8583 消息视图中声明时的顺序并不影响字段的实际发送方式。字段总是根据数字字段 ID 按升序发送。这与 ISO 8583 消息规范一致。但是,在使用脚本时,可以根据首先初始化的值来考虑顺序。有关更多详情信息,请查阅 Scripting ISO 8583 Header Message Fields

消息子选项卡

以下选项在 ISO 8583 视图中可用:

Header 选项卡

Header 选项卡可用于为 ISO 8583 消息配置自定义二进制头。数据头字段可以重新排列(通过拖放),并且可以使用相应的按钮添加和删除新字段。按住 CTRL 键选择多个字段,以便同时删除多个字段。按钮旁边显示的总体大小是所有字段大小的总和。

可以在 Header 选项卡中配置以下选项:

编写 ISO 8583 数据头消息字段脚本

当在值单元格中选择 Script 时,可以编写自定义代码来生成字段值。这种用法的例子是加密内容或生成 MAC 值。

脚本方法将接受零个、一个或两个参数。

当声明一个参数时,它引用当前请求 ISO 8583 消息的 ISOMsg 对象表示。ISOMsg 对象的字段初始化为当前字段。

例如,如果你正在编写第十个字段的脚本,那么 ISOMsg 对象将根据这些字段值设置所有之前的 9 个字段(如果有的话)。这就是重新排列 ISO 字段的不同之处,尽管重新排列顺序并不影响发送消息的实际字段顺序。当声明第二个参数时,它将引用上下文,这允许访问环境变量、数据源值等。

有关详细信息,请参阅 Virtualize 扩展 API 文档。可以通过 Parasoft> Help 菜单访问扩展框架 API 的文档(查找名为“Parasoft Virtualize 扩展 API”的书籍)。

配置响应器的相关性

如果使用多个消息响应器,你需要配置响应器关联如下:

  1. 在消息响应程序的 Responder Correlation 选项卡中,请打开 ISO 8583 Correlation
  2. 选择 Enable correlation
  3. 将字段值添加到该列表,以确定此消息响应程序应该处理哪些传入消息。

你可以配置响应程序,使其在传入的 ISO 8583 请求消息中使用字段 ID 的存在(或不存在)作为相关标准。

  • 如果希望响应器在指定字段 ID 存在时响应消息,请将值设置为 Occurrence,然后选择 Present
  • 如果希望响应器在指定字段 ID 不存在时响应消息,请将值设置为 Occurrence,然后NOT选择 Absent

例如,如果传入的 ISO 8583 请求消息不包含字段 ID 7,则具有以下配置的响应程序将进行响应。

使用 ISO 8583 数据源关联

有关消息响应程序中的数据源相关性的一般细节,请参见 Data Source Correlation Tab

字段 Id(为传入消息提供)可以与一个或多个数据源列名匹配(类似于 XPaths、URL 参数等的处理方式)。然后,可以使用各种数据源列参数化 ISO 8583 字段。

注意,表单 ISO 8583 字段支持 Use Data Source: Exclude with empty string 特性。这允许你使用动态字段生成 ISO 8583 消息,并根据对应数据源行中的数据包含/排除这些消息。请查阅 Using Data Sources with Form XML:表单 XMLExcluding Elements and Attributes 以获得该功能的详细信息。