近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源。用户安装好知行之桥 EDI 系统之后,可以导入本示例工作区,了解 Ford 830、862、856 报文的转换、映射和功能确认处理流程。
本文主要介绍 Ford EDI 项目,说明该工作区中各端口的用途、如何在知行之桥 EDI 系统中部署和完善配置,以及如何进行基础测试。
Ford & JSON 方案简介
Ford 示例工作区基于知行之桥 EDI 系统搭建,围绕 Ford 的 X12 报文与业务 JSON 数据转换场景,预配置了以下业务流程:
- X12 830 物料需求计划,Ford -> 供应商。
- X12 862 发运计划,Ford -> 供应商。
- X12 856 提前发货通知,供应商 -> Ford。
当前 Ford 工作区中的核心端口包括:
- X12 端口:Ford_X12ToXML 用于将 Ford 下发的 830、862 报文转换为 XML;Ford_XMLToX12 用于将内部 XML 转换为发送给 Ford 的 856 报文,并处理工作流中的 997 功能确认路径。
- Branch 端口:Ford_Inbound_Branch 根据 /Interchange/FunctionalGroup/TransactionSet/*/Meta/ST01 的值识别交易集类型。ST01 等于 830 时进入 830 映射,等于 862 时进入 862 映射。
- XMLMap 端口:Ford_830_Map、Ford_862_Map 分别将入站 830、862 XML 转换为对应的业务 JSON 结构;Ford_856_Map 将 856 业务 JSON 转换为 X12 端口所需的 XML 结构。
- JSON 端口:Ford_830_JSON、Ford_862_JSON 用于输出入站业务 JSON;Ford_856_JSON 用于接收供应商系统提交的 856 业务 JSON。
- AS2 端口:Ford_AS2 负责接收 Ford 发来的 X12 文件,并将 Ford_XMLToX12 生成的 856、997 X12 文件发送给 Ford。
- Notify 端口:Ford_Notify 连接 Ford_Inbound_Branch 的 Else 路径。当入站报文无法识别为 830 或 862 时,系统通过该端口发送异常通知。
当前工作区已预置 AS2 端口及收发流程连接,但尚未形成可用的 Ford AS2 通信配置。正式联调前,需要根据 Ford 提供的 AS2 Profile 配置双方 AS2 ID、交易伙伴 URL、证书、自动发送及 MDN 策略。
工作流概览
Ford 工作区当前包含以下主要链路:
-
接收 830:
Ford_AS2->Ford_X12ToXML->Ford_Inbound_Branch->Ford_830_Map->Ford_830_JSON。 -
接收 862:
Ford_AS2->Ford_X12ToXML->Ford_Inbound_Branch->Ford_862_Map->Ford_862_JSON。 -
发送 856:
Ford_856_JSON->Ford_856_Map->Ford_XMLToX12->Ford_AS2。 -
功能确认:
Ford_X12ToXML生成的 997 确认 XML 经 ACK 路径进入Ford_XMLToX12,转换为 X12 后进入Ford_AS2。 -
异常通知:
Ford_Inbound_BranchElse ->Ford_Notify。
其中,830 和 862 是 Ford 发给供应商的入站计划类报文;856 是供应商发给 Ford 的出站发货通知。

如何在知行之桥 EDI 系统中部署工作流?
创建工作区
运行知行之桥 EDI 系统,导航到工作流选项卡并单击右上角的添加工作区按钮。选择添加新工作区,为此示例流创建一个新的工作区,例如 Ford。

导入工作区
在工作区下拉菜单中单击导入工作区。在出现的对话框中选择项目根目录下的 Ford.arcflow,以导入相关端口、映射、Schema 和工作流连接;也可以直接将该文件拖拽到指定工作区。用于本地验证的 830.x12、862.x12 和 856.json 位于 testfile 目录。

成功导入后,你将看到 Ford 的完整工作流,包括 AS2、X12、Branch、XMLMap、JSON 和 Notify 等端口。
完善工作流配置
配置 AS2 通信端口
工作区中的 Ford_AS2 已连接入站和出站工作流,但当前 AS2 ID、交易伙伴 URL 和证书尚未配置,自动发送也未启用。该端口只能用于展示流程结构,不能直接作为可用的 Ford 通信链路。部署到测试或生产环境前,需要按照 Ford 当前 AS2 Profile 补充参数并完成联调验证。


对于入站方向,Ford_AS2 将接收到的 Ford X12 文件发送到 Ford_X12ToXML。对于出站方向,Ford_XMLToX12 将生成的 856 和 997 X12 文件发送到 Ford_AS2。当前 AS2 自动发送尚未启用,因此测试中生成的 997 文件进入 AS2 后显示为“未发送”;补齐交易伙伴参数并启用自动发送后,再验证实际发送和 MDN 回执。
配置异常通知
Ford_Notify 接收 Ford_Inbound_Branch 的 Else 路径,用于通知无法识别为 830 或 862 的入站文件。当前通知主题为 Message Notify。正式使用前,请补充收件人等邮件参数,并通过一份非 830/862 报文验证通知链路。

配置 X12 端口
Ford_X12ToXML 和 Ford_XMLToX12 负责 X12 与 XML 的互转。当前工作区使用 X12 00200 基础版本,并包含 830、856、862 和 997 Schema;测试文件中 830 的 GS08 为 002001FORD,862 的 GS08 为 002002FORD。这些 Ford 实施指南标识及交易集结构需要按当前工厂、项目和报文方向分别确认,不能仅根据 00200 判断兼容性。正式联调前,请确认以下内容:

-
ISA/GS 发送方和接收方标识及其限定符。
-
X12 版本、分隔符、控制号和生产/测试标识。
-
各报文使用的 GS08、Ford 实施指南版本及工厂或项目差异。
-
830、862、856 的交易集规则和必填字段。
-
TA1、997 功能确认的生成、回传和异常处理策略。
示例配置中已包含测试标识值,部署到实际环境前需要替换或确认,不能直接作为生产参数使用。

检查分支和映射
Ford_Inbound_Branch 使用 ST01 区分 830 和 862。若后续新增其他入站交易集,需要同时增加分支条件、X12 Schema、XMLMap 映射和目标业务端口。
Ford_830_Map、Ford_862_Map 和 Ford_856_Map 已带有源与目标样例。正式使用前,请结合 Ford 实施指南及企业内部接口定义,检查零件号、采购订单号、数量、日期、装运层级、包装层级、地点代码和累计量等关键字段。
830、862 中的累计量和新增需求量不能直接按相同方式重复累加。应结合 Ford 对应实施指南、报文用途及工厂业务规则,确认累计口径、覆盖逻辑和增量处理方式。



本地测试流程
测试接收 830
以接收 Ford 下发的 830 物料需求计划为例,测试流程如下:
1. 导航到 Ford_X12ToXML 端口,在输入页面上传 830 X12 测试报文。
本示例已使用 830.x12 完成测试。Ford_X12ToXML 输入事务和 XML 输出事务均成功。

2. 报文转换为 XML 后进入 Ford_Inbound_Branch;分支读取 ST01=830,并将文件发送到 Ford_830_Map。
3. 映射结果进入 Ford_830_JSON,可在事务或输出文件中查看业务 JSON,并核对发布编号、需求日期、零件号、订单号、数量和累计量等字段。
本次测试已生成 830_014299646.json,XML 到 JSON 转换成功。

测试接收 862
以接收 Ford 下发的 862 发运计划为例,测试流程如下:
- 导航到
Ford_X12ToXML端口,在输入页面上传 862 X12 测试报文。
本示例已使用 862.x12 完成测试。Ford_X12ToXML 输入事务和 XML 输出事务均成功,运行情况与上方 image15 所示一致。
-
报文转换为 XML 后进入
Ford_Inbound_Branch;分支读取 ST01=862,并将文件发送到Ford_862_Map。 -
映射结果进入
Ford_862_JSON,可在事务或输出文件中查看业务 JSON,并核对计划编号、交付地点、零件号、需求日期和数量等字段。
本次测试已生成 862_014275256.json,XML 到 JSON 转换成功。

Ford_X12ToXML 生成,并经 Ford_XMLToX12 成功转换为 X12。生成的文件分别为 830_997_ACK_000000008.x12 和 862_997_ACK_000000007.x12。由于当前 Ford_AS2 未启用自动发送,两条 997 在 AS2 端口显示为“未发送”,这不影响前述报文转换和 ACK 生成结果。
测试发送 856
以供应商向 Ford 发送 856 提前发货通知为例,测试流程如下:
-
准备符合
Ford_856_JSON输入结构的 JSON 文件。 -
导航到
Ford_856_JSON端口,在输入页面上传测试 JSON。

3. 文件经 Ford_856_Map 转换为 856 XML,再经 Ford_XMLToX12 生成 X12 856 报文。

-
在
Ford_XMLToX12的输出文件和事务日志中检查 ISA、GS、ST、BSN、HL、TD1、REF、N1、PRF、LIN、SN1、CTT 等业务段及控制号。 -
本地转换完成后,可以检查生成的 856 X12 文件。补齐
Ford_AS2的交易伙伴参数并启用自动发送后,还需分别验证 AS2 发送、MDN、TA1/997 以及 Ford 业务系统的接收结果。

验证范围
当前截图和事务记录证明以下本地处理步骤已经完成:
- 830、862 测试文件导入以及 X12 转 XML。
- 830、862 的分支识别、业务映射和 JSON 输出。
- 830、862 的 997 生成以及 XML 转 X12。
- 856 测试 JSON 的映射以及 XML 转 X12。
通信和业务验证需要分层判断:
| 验证层级 | 含义 | 当前状态 |
|---|---|---|
| 本地转换 | 文件导入、格式转换、映射和输出文件生成 | 已验证 |
| AS2 MDN | 证明 AS2 传输层已接收并处理消息 | 尚未验证 |
| TA1 / 997 | 证明交换信封或功能组、交易集语法处理结果 | 尚未验证 Ford 返回结果 |
| Ford 业务系统 | 证明报文已被 Ford 业务流程接受 | 尚未验证 |
AS2 MDN、TA1、997 和 Ford 业务系统接受代表不同验证层级,不能将“本地生成成功”“AS2 发送成功”和“Ford 业务接受”视为同一结论。
后续步骤
当前工作区已经完成转换、映射和 ACK 生成链路的本地验证。下一步需要补齐 AS2 交易伙伴参数和证书、启用自动发送,并使用 Ford 确认的 830、862、856 测试文件完成 AS2 通信、MDN、Ford 返回确认及业务系统接收验证。
如果你遇到任何问题或有任何疑问,请随时联系我们。

