本主题介绍 ISO 8583 客户端工具,该工具允许通过各种通道和消息打包配置发送和接收 ISO 8583 消息。
本章包含:
ISO 8583 是一种用于交换持卡人使用支付卡进行的电子金融交易的系统的标准。然而,在测试 ISO 8583 标准时出现了一些挑战:
Parasoft SOAtest 提供一个全面的测试框架,减轻这些挑战,并允许您为基于 ISO 8583 的系统建立一致的、现代的质量管理方法,使标准成为整个 SOA/IT 质量治理计划的一部分。您还可以利用 SOAtest的生产力框架(如数据源、测试套件、丰富的数据验证等),并构建一个持续的回归测试基础设施,以安全地改进您的电子支付系统。
Parasoft SOAtest ISO 8583 工具提供了一个易于使用的 GUI,可用于不清楚的二进制消息格式。您可以使用 ISO 8583 工具:
工具选项可以在 ISO 8583 工具配置面板中配置,可以通过双击 Test Case Explorer 中的工具节点来访问该面板。
在 Tool Settings 选项卡中,币可以配置以下基本工具设置:
Message Exchange Pattern: Expect Synchronous Response: 指定 SOAtest 是否接收响应。如果选择 Expect Synchronous Response, SOAtest 发送消息并接收响应。 如果没有选择 Expect Synchronous Response, SOAtest 只发送消息不接收响应。
从下拉菜单中选择 Custom 允许您提供自己的通道实现。启用下拉菜单旁边的文本字段中的自定义结果,并可以指定完全限定的类名。自定义通道类需要实现接口 org.jpos.ISOChannel
或继承 org.jpos.BaseChannel
。通道实现的示例可在 http://jpos.svn.sourceforge.net/viewvc/jpos/trunk/jpos6/modules/jpos/src/org/jpos/iso/channel/中找到。
一旦编写了这样一个自定义通道类,就需要将其添加到 SOAtest 类路径中。关于如何将 jars 添加到 SOAtest 类路径的更多消息,请查阅 System Properties Settings。
ISOMsg
, ISOChannel
和 Context
。使用 ISO 8583 工具输入区域中提供的内容初始化 ISOMsg
对象之后,以及在发送消息之前,执行钩子脚本。有关 Javadocs 和相关的 jPOS 类,请参阅 http://jpos.org/doc/javadoc/index.html在 Input Type 选项卡中,您可以配置 ISO 8583 消息(在 Message 子选项卡中),以及可选数据头(在 Headers 选项卡中)。
可以在 Message 选项卡中配置以下选项:
Literal XML 和 Form XML 视图允许以 XML 格式提供 ISO 8583 消息。除非选择了 jPOS XML 通道和 XML 打包器,否则在线上的实际消息将以二进制格式(而不是 XML)发送。消息的 XML 表示定义如下:
<isomsg> <header>{Hexadecimal representation binary content}</header> <field id="{INTEGER}" value="{STRING}" [type="binary"]/>+ </isomsg> |
因此,示例消息可以类似于:
<isomsg> <header>16380c18601860a186b01868fff486e0bb21</header> <field id="0" value="0100"/> <field id="2" value="5048993400009931"/> <field id="3" value="031000"/> ... <field id="128" value="0D0F030D040C0602" type="binary"/> </isomsg> |
type
属性是可选的,当它的值被设置为 “binary
”时,它表示 value 属性包含内容的十六进制文本表示,其中每两个十六进制数字表示一个字节。省略 type
属性将导致基于该特定字段(消息字段配置)的消息包装程序中指定的类型解释值。表单 XML 允许在出现数据源时对数据源进行参数化。标题选项卡可用于为 ISO 8583 消息配置自定义二进制头。数据头字段可以重新排列(通过拖放),并且可以使用相应的按钮添加和删除新字段。按住 CTRL 键选择多个字段,以便同时删除多个字段。按钮旁边显示的总体大小是所有字段大小的总和。
可以在 标题选项卡中配置以下选项:
当执行 ISO 8583 测试时,通讯报文查看器将显示发送和接收消息的 XML 表示。这种表示的目的是使分析更容易;它不反映线路上的实际字节流。消息的十六进制转储(与在套接字级别捕获的转储完全相同)显示在通讯报文查看器的标题部分。
一旦设置了 ISO 8583 消息传递场景,就可以对响应消息应用回归控制或各种值验证特性。
若要应用回归控制,请完成以下步骤:
当在值单元格中选择 Script 时,可以编写自定义代码来生成字段值。这种用法的例子是加密内容或生成 MAC 值。
脚本方法将接受零个、一个或两个参数。
当声明一个参数时,它引用当前请求 ISO 8583 消息的 ISOMsg 对象表示。ISOMsg 对象的字段初始化为当前字段。
例如,如果您正在编写第十个字段的脚本,那么 ISOMsg 对象将根据这些字段值设置所有之前的 9 个字段(如果有的话)。这就是重新排列 ISO 字段的不同之处,尽管重新排列顺序并不影响发送消息的实际字段顺序。当声明第二个参数时,它将引用上下文,这允许访问环境变量、数据源值等。
有关更多详情,请查阅 SOAtest 可扩展性 API 文档。您可以通过 Parasoft> Help 菜单(查找标题为 "Parasoft SOAtest Extensibility API” 的图书)方法访问扩展框架 API 的文档。