本主题涵盖以 EDI 格式发送消息的 EDI 客户机工具。它可以与 客户端工具。它可以与 增强版回调工具 和 XML 工具一起使用。
除了 EDI,EDI 客户机和高级回调工具支持 客户端和高级回调工具支持 CSV、固定长度、行和纯文本。在这些情况下,工具名称会更改,以反映适当的格式(比如, CSV 客户端和 CSV 回调、 固定长度客户端和固定长度回调、 行客户端和行回调,以及 纯文本客户端和纯文本回调)。
...
Info | ||
---|---|---|
| ||
EDI 格式要求启用消息包许可证功能。消息包许可证功能支持 EDI 客户机的 客户端的 EDI 格式,高级回调工具和 XML 转换器。 |
Info | ||
---|---|---|
| ||
在 SOAtest 9.1 中可用的 EDIFACT 支持仍然可以作为 EDI 客户机、高级回调和 客户端、高级回调和 XML 转换器中的“基本 EDIFACT”格式使用。有关更多详情,请查阅 EDI 客户机 Basic EDIFACT Support 。 |
与 SOAtest 一起使用 EDI
业务和组织可以使用 EDI(电子数据交换)交换消息,EDI 使用几种标准化的消息格式。其中一种格式为 EDIFACT(用于行政、商业和运输的电子数据交换)。
大多数 EDI 消息格式(包括 EDIFACT)都是很难解析,并且不易读取。
EDI 客户机, 客户端, 增强版回调工具 和 XML 转换器 1 工具简化了 EDIFACT 在 SOAtest 中的使用。通过无缝地从 XML 转换为本机格式,以及从本机格式转换为 XML,SOAtest 允许轻松地利用 SOAtest 现有 XML 功能来发送、验证和提取 EDI 消息中的数据。
...
- AL3 - 也叫作 ACORD AL3
- CARGO - 也叫作 IATA Cargo-IMP
- EANCOM
- EDIFACT
- EDIFACT Basic - Described in EDI 客户机 Basic EDIFACT Support
- EDIGAS - 也叫作 Edig@s
- HIPAA
- HL7
- IATA - 也叫作 IATA PADIS
- NCPDP - 也叫作 NCPDP SCRIPT
- TELCO - 也叫作 NCPDP Telecommunication
- TRADACOMS
- X12
关于支持每个标准中的哪些版本和消息类型的更多详情,请查阅 EDI 支持细节。
使用 EDI
...
客户端
EDI 客户机用于在表单视图建模 客户端用于在表单视图建模 EDI 消息,该视图允许轻松地更改消息内指定字段的值,或者允许参数化消息内的字段。
EDI 客户机提供消息客户机工具功能的超集。它可以做任何消息传递客户机可以做的内容,也可以自动将请求有效负荷从 客户端提供消息客户端工具功能的超集。它可以做任何消息传递客户端可以做的内容,也可以自动将请求有效负荷从 XML 转换为 EDI(以及将响应有效负荷从 EDI 转换为 XML)。
...
如果只想发送文字 EDI 消息,则可能需要使用消息传递工具代替此工具。然而,如果期望返回 EDI 数据,则 EDI 客户机比消息传递客户机具有以下优势:响应负载作为 客户端比消息传递客户端具有以下优势:响应负载作为 XML 输出建模。该输出允许将 XML 断言器、XML 数据库或 Diff 工具以 XML 模式链接到它,以便你可以轻松地验证消息。对于消息传递客户机,你需要额外的一步:向响应流量输出添加文本模式链接到它,以便你可以轻松地验证消息。对于消息传递客户端,你需要额外的一步:向响应流量输出添加文本/XML 转换器,然后添加 XML 断言器、XML 数据库或 Diff 工具。
Anchor | ||||
---|---|---|---|---|
|
这有两个预期工作流,可用于配置 EDI 客户机客户端...
现有文字 EDI 消息
(推荐)如果已经有一个文字 EDI 消息:
- 创建新的 EDI 客户机。客户端。
- 切换到文字模式,并粘贴 EDI 消息。
- 切换到表单输入或表单 XML 模式,然后根据输入的消息进行填充。现在,你可以按照自己的意愿配置和参数化消息。有关更多详情,请查阅 EDI 客户机 Specifying the Request 。
- 设置合适的传输设置。有关更多详情,请查阅 EDI 客户机 Specifying Transport Settings 。
- 向输出添加合适的验证工具。有关更多详情,请查阅 Validating EDI 客户机Messages 。
- 运行测试。
从头开始创建 EDI 消息
如果要从头开始创建 EDI 消息,则执行以下步骤:
- 创建新的 EDI 客户机。客户端。
- 使用 Dialect、 Version和 Message 类型字段选择一个消息类型,这些字段将填充表单输入视图。
- 使用表单输入手动指定消息。有关更多详情,请查阅 EDI 客户机 Specifying the Request 。
表单输入将消息约束为所选消息类型的模式,并不允许向消息中添加不属于消息一部分的字段。在你尝试使用给定字段不支持的值类型(比如,尝试将字符串放入整数型字段)时,它还将发出警告。表单 XML 不执行这两种检查。
注意,可能需要手动添加你消息使用的字段,因为 SOAtest 根据所选定的消息生成最小的有效 EDI 消息。该消息将包含你可能希望修改的默认值。通常不建议在表单输入中使用右键单击 Populate 选项(如 用数据源值填充和参数化元素中所述)。它将向消息添加所有可选字段,但不一定添加有效的默认值。使用 Populate之后,你需要手动检查并输入每个字段的值。对于多数 EDI 消息,这可能是相当乏味的。
工具配置详情
以本机或 XML 格式发送
使用默认选项,EDI 客户机总是发送在 客户端总是发送在 Format 复选框所选定的本机格式。然而,在表单输入和表单 XML 模式下,EDI 客户机可配置来发送 客户端可配置来发送 SOAtest 的 XML 格式,而不是本机格式。
为了实现这一点,请选择 EDI 客户机编辑器 客户端编辑器 XML Conversion Options 部分中的 Send XML instead of EDI when in Form Input or Form XML mode 框。
...
- 如果禁用(默认):则 SOAtest 会在发送消息之前自动将 XML 模型转换为本机格式。换句话说,SOAtest 会向服务器发送本机格式,这就是你在流量视图器中所看到的。
- 如果启用:SOAtest 将发送你在 UI 中为请求配置的消息。你可以通过使用文字或脚本视图以本机格式创建消息负载。如果禁用该选项,并在 UI(例如,使用表单输入视图)中创建 XML,则 SOAtest 将发送未更改的 XML。对于当前支持的格式,通常不希望这样做,但是 SOAtest 使此选项可用。
注意,此选项没有关联文字(Literal)或脚本化(Scripted)视图。客户机总是发送文字视图中出现或脚本化视图中脚本返回的实际文本。注意,此选项没有关联文字(Literal)或脚本化(Scripted)视图。客户端总是发送文字视图中出现或脚本化视图中脚本返回的实际文本。
Anchor | ||||
---|---|---|---|---|
|
关于指定请求的推荐工作流,请查阅 EDI 客户机 Workflows。
注意,在表单输入或表单 XML 和文字之间进行切换时,表单输入或表单 XML 中的内容会自动转换为文字视图中显示的本机格式。文字输入中的内容会自动转换为在表单输入或表单 XML 中显示的 XML 格式。
...
Info | ||
---|---|---|
| ||
如果将消息粘贴到文字视图,并切换至表单输入,但是表单输入没有填充,则从文字视图切换到表单 XML。在 SOAtest 无法为粘贴进来的 EDI 消息找到匹配模式的情况下,表单输入将不被填充。然而,使用表单 XML, SOAtest 通常仍然可以支持这些消息。 |
Anchor | ||||
---|---|---|---|---|
|
关于如何配置可用传输的设置的更多详情,请查阅 Testing Through Different Protocols 。
...
- CSV - text/csv
- EDI - application/EDI-X12
- Basic EDIFACT - application/EDIFACT
- Fixed Length - text/plain
- Lines - text/plain
- Plain Text - text/plain
配置其他选项
单击 Misc 选项卡以配置以下选项:
- 有效的 HTTP 响应码:允许自定义工具行为,以便它成功地处理了
2xx
范围之外的 HTTP 响应码。将单个代码和/或代码范围指定为逗号分隔的列表。例如,如果使用"302, 500-599"
,则将接受302
码或5xx
范围内的任何码。如果正在使用参数化值,则请保证数据源中的值使用与之相同的格式(如,"302, 500-599"
)。 多少时间后超时(以秒为单位):指定 SOAtest 应考虑 FTP、telnet 或 HTTP 请求超时后的延迟长度(以秒为单位)。默认设置对应于首选项面板的超时设置。自定义设置允许输入超时时间。可以输入一个负超时值,表示指定无限的超时。
- 因超时导致测试失败:选择此选项可使工具在指定超时时失败。
- 只在发生超时时才通过测试:如果发生指定的超时(如,工具没有在指定的时间内完成执行),则选择此选项让工具通过。
- Outgoing Message Encoding: 从下拉菜单中选择 Custom ,然后输出消息选择编码。默认使用在最接近父测试套件中配置的编码(请查阅 Specifying Client Options)。也可以在 Parasoft 首选项 Misc 设置中全局指定该选项。(请查阅 其他首选项设置 )。
指定转换选项
在 EDI 格式中,当选项为空时,转换将使用该选项的默认选项。否则,如果选择或键入值,转换将尝试使用该值。注意,如果手动输入一个无效的值,则可能在尝试在表单输入/表单 XML 和文字视图之间进行切换时,出现错误。
...
注意,没有可用于基础 EDIFACT 的转换选项。
Anchor | ||||
---|---|---|---|---|
|
若要验证 EDI 消息,通常需要将 XML 模式下的 XML 断言器、XML 数据库或 Diff 工具附加到作为 XML 输出的响应负载建模(Response Payload Modeled)。然而,可以将扩展工具或其他类型的工具附加到该输出,以实现要实现的内容。如果要验证文字 EDI 内容,则可以将任何工具附加到响应负载输出;这将把文字 EDI 内容发送到附加到它的任何工具。
EDI 客户机向响应有效负载提供两个输出: 客户端向响应有效负载提供两个输出:
- 有效负载:SOAtest 从服务器接收到的响应。通常这将是一条 EDI 消息。这类似于消息传递客户机的“流量”输出。消息。这类似于消息传递客户端的“流量”输出。
- 转换为 XML 的有效负载:将响应负载转换为 XML 的结果。所选定 EDI 格式(如 EDIFACT)决定了 SOAtest 如何将消息转换给 XML。
例如,如果使用纯文本格式,并且服务器返回字符串“delta”,则 SOAtest 将提供值“delta”作为附加到“Payload”输出工具的输入。对于附加到 "Payload Converted to XML” 输出的工具,EDI 客户机将提供值 客户端将提供值 " <root>delta</root>"。
使用请求负载
附加请求负载输出
EDI 客户机向请求负载提供两个输出:相反,消息传递客户机提供一个输出(简单命名为“流量”)。EDI 客户机有两个输出,因为它支持自动将请求从 客户端向请求负载提供两个输出:相反,消息传递客户端提供一个输出(简单命名为“流量”)。EDI 客户端有两个输出,因为它支持自动将请求从 XML 转换为 EDI 格式。
EDI 客户机存在两个请求:客户端存在两个请求:
- 建模为 XML 的有效负载:这是请求负载的 XML 模型,通常是使用表单输入或表单 XML 视图创建的。如果选择了 Send XML instead of {format} when in Form Input or Form XML 选项,则在其从 XML 转换为 EDI 之前,该输出提供请求负载。
- 有效负载:SOAtest 发送给服务器的有效负载。这类似于消息传递客户机的“流量”请求输出。如果选择了 发送给服务器的有效负载。这类似于消息传递客户端的“流量”请求输出。如果选择了 EDI 选项的 Send XML instead of {format} when in Form Input or Form XML 模式,则该输出将是从 XML 转换为 EDI 的结果。
如果选择了发送 XML 而不是 EDI(在表单输入或表单 XML 模式时发送 XML 而不是 EDI)的选项,则附加到输出“建模为 XML 的有效负载”的输出将不会运行。
修改请求负载
与消息传递客户机一样,你可以通过将工具附加到请求输出来修改请求负载。例如,如果将返回值的扩展工具附加到负载输出,那么 与消息传递客户端一样,你可以通过将工具附加到请求输出来修改请求负载。例如,如果将返回值的扩展工具附加到负载输出,那么 SOAtest 将使用该值作为请求负载。换句话说,SOAtest 将向服务器发送该值,并且你将在流量视图器汇总看到该值。此外,你可以通过向 "Payload Modeled as XML” 输出附加工具来修改消息的 XML 模型。
运行工具
在“Payload”输出之前,EDI 客户机运行 客户端运行 "Payload Modeled as XML” 输出。
例如,假设你拥有以下工具:
- EDI 客户机客户端
- 建模为 XML 的请求负载->扩展工具 1
- 请求负载->扩展工具 2
在 EDI 客户机 客户端 UI 中,你选择从 XML 转换至 EDI,并选择了使用纯文本格式。可以将请求负载建模为以下 XML:
<root>alpha</root>
当 EDI 客户机运行时,首先运行扩展工具 客户端运行时,首先运行扩展工具 1,该工具附加在建模为 XML 请求负载。扩展工具 1 包含以下 Jython:
...
工具将 "input: beta” 打印到控制台,因为 EDI 客户机在内部转换了值, 客户端在内部转换了值,
该值由扩展工具 1 返回, "<root>beta</root>",通过删除“root”标签来发送文本。扩展工具 2 返回字符串 "gamma"。将在浏览器视图中的请求负载中看到字符串 "gamma" 。
教程
请查阅 Working with EDI Messages。
Anchor | ||||
---|---|---|---|---|
|
在 SOAtest 9.1 中可用的基础 EDIFACT 支持仍然可以作为“基础 EDIFACT”格式来使用:
适用于 EDI 客户机、高级回调和 客户端、高级回调和 XML 转换器。
基础 EDIFACT 支持不要求消息包许可证。它支持消息包许可证覆盖的方言子集和版本。例如,EDIFACT 是唯一可用方言,并且只支持版本 10B, 96B, S3, S4, 和 S41。
...