通过 WebSphere Partner Gateway V6.2 实现 EDI,第 2 部分

本文章系列讲述如何使用 WebSphere Partner Gateway V6.2 进行 Electronic Data Interchange (EDI) 转换。第 2 部分演示如何实现两个不同的拆封和 EDI 转换操作 —— EDI 到 XML 转换和 EDI 到面向记录的数据(Record-Oriented Data,ROD)转换。

Sonali Samantaray, 软件工程师, IBM

Sonali Samantaray 的照片Sonali Samantaray 是 IBM 印度软件实验室 WebSphere Partner Gateway 团队的一名软件工程师,她拥有计算机应用专业硕士学位,是一名 IBM Certified DB2 Associate 和 IBM Certified SOA Associate。Sonali 曾为各种专题研讨会发表技术文档,并发表了数篇 IBM developerWorks 文章。



2010 年 7 月 12 日

简介

本文介绍 IBM® WebSphere® Partner Gateway V6.2 中的两个转换和封装(enveloping)场景。在场景 1 中,WebSphere Partner Gateway 从一个内部或外部合作伙伴接收一些 XML 文档,将它们转换为 EDI 事务,封装事务,然后将它们返回内部或外部合作伙伴。在场景 2 中,WebSphere Partner Gateway 从一个内部或外部合作伙伴接收一些面向记录的数据(ROD)文档,将这些文档转换为 EDI 事务,封装事务,然后将它们返回内部或外部合作伙伴。(ROD 文档是遵守一个专用格式的文档。)

拆封(de-enveloping)指的是将一个单一的 EDI 文档拆分为它的多个元素 EDI 业务文档,这些文档称为 “事务”。在 EDIFACT 标准中,这些文档称为 “消息”。每个事务或消息作为单独的业务文档流流经文档管理器。拆封不同于分割(splitting)。当多个 EDI 文档被放置到一个文件中时适合使用分割方法,而且这些文档相互之间可能没有任何关系。EDI 拆分程序提取 Enveloper 级别、Group 级别和 Transaction 级别信息。

先决条件

  • 应该安装并运行 WebSphere Partner Gateway V6.2
  • 下载本文末尾的 samples.zip 并将其解压缩到一个文件夹中,它包含样例映射和输入文件。

场景 1. EDI 到 XML 文档流

在场景 1 中,来自源贸易伙伴的一个入站 EDI X12 ISA 穿过一个集线器,这个 EDI 在集线器中转换为 XML,输出 XML 然后被发送到目标贸易伙伴。映射是 EDI-XMLcompiled.eif,输入文件是 EDI_855_XMLInput.edi。

图 1. EDI 到 XML 文档流
EDI 到 XML 文档流

步骤 1. 导入映射

  1. 登录 WebSphere Partner Gateway 社区控制台。
  2. 导航到 Wizards => EIF Import Wizard
  3. 单击 Browse 并从文件系统选择 EDI-XMLcompiled.eif
  4. 单击 Import
    图 2. 使用 EIF Import Wizard 导入一个映射
    使用 EIF Import Wizard 导入一个映射
  5. 下一个屏幕打开:
    图 3. Import summary 屏幕
    Import summary 屏幕
  6. 单击 Next 查看使用这个映射导入创建的事务:
    图 4. 创建的默认交互
    创建的默认交互
  7. 单击 Next,然后单击 Finish
    图 5. Import completion 屏幕
    Import completion 屏幕

步骤 2. 验证映射导入

  1. 导航到 Hub Admin => Hub Configuration => Maps => Transformation maps。转换映射 EDI_XML_PO-ACK 应该被列示出来。
  2. 单击 View details 图标检查在源和目标端的文档定义。
    图 6. 从源到目标的文档定义
    从源到目标的文档定义

步骤 3. 创建接收器

  1. 导航到 Hub Admin => Receivers
  2. 单击 Create Receiver
  3. 指定接收器的名称。例如:FileReceiver
  4. 选择 Transport 作为 File directory
  5. 指定 Document Root Path。例如:/FileReceiver
  6. 单击 Save。只有在预期输入文档带有多个 EDI ISA 时才需要 EDI Splitter。

步骤 4. 创建合作伙伴

  1. 创建一个 Internal Partner,名称为 Manager,DUNS id 为 123123123。
  2. 创建一个 External Partner,名称为 Partner,DUNS id 为 321321321。
  3. 编辑输入文件 EDI_855_XMLInput.edi,修改 Sender 和 Receiver IDs,如下所示:
    图 7. 修改输入 XML 文件中的 Sender 和 Receiver IDs
    Sender ID 和 Receiver ID

步骤 5. 创建目的地

  1. 选择 transport 作为 File Directory,创建 Manager 和 Partner 的 Destinations。

步骤 6. 创建交互

  1. 对于 EDI 到 XML 场景,创建两个交互:一个对应于拆封,另一个对应于生成的已拆封消息到 XML 的转换。
  2. 验证和转换的交互已经在导入映射时创建。
  3. 导航到 Hub Admin => Document Definition => Create interaction
  4. 选择以下项目,为拆封创建一个交互:
    • Source Package: N/A, Protocol: EDI-X12(ALL), Document Flow: ISA(ALL)
    • Target Package: None, Protocol:EDI-X12(ALL), Document Flow:ISA (ALL)
    • Action EDI De-envelope

步骤 7. 为合作伙伴启用 B2B 功能

  1. 为 Manager (Internal Partner) 启用以下 Package、Protocol 和 Document Flow:
    • Package: None, Protocol: EDI-X12 (ALL), Document Flow: ISA (ALL)
    • Package: N/A (N/A), Protocol: X12V4R1 (ALL), Document Flow: 855 (ALL)
  2. 为 Partner (External Partner) 启用以下 Package、Protocol 和 Document Flow:
    • Package: N/A, Protocol: EDI-X12 (ALL), Document Flow: ISA (ALL)
    • Package: None (N/A), Protocol: CUSTOM_XML(ALL), Document Flow: PURCHASE_ORDER_ACK(ALL)

步骤 8. 启用连接

  1. 导航到 Account Admin => Connections
  2. 从 Source 下拉列表中选择 Manager
  3. 从 Target 下拉列表中选择 Partner
  4. 这些连接应该被激活,如下所示:
    图 8. 启用合作伙伴连接
    启用合作伙伴连接

步骤 9. 支持带有副本 IDs 的元素

每个封装的 EDI 文档都有一个关联的控制编号,作为 ISA 段的一部分,这个控制编号惟一识别入站文档。为了多次使用相同的输入文档,需要告知 WebSphere Partner Gateway 允许副本控制编号,否则,它将不处理文档,并抛出一个副本交换错误:

  1. 导航到 Hub Admin => Hub Configuration => Document Definition
  2. 单击 Package: None 旁边的展开节点图标,这将打开所有可用协议的列表。
  3. 单击 Protocol: EDI-X12 (ALL) 旁边的编辑属性图标。
  4. 定位 Document Flow Context Attributes 下方的 Allow documents with duplicate document ids 属性,从下拉菜单中选择 Yes
  5. 单击 Save

步骤 10. 运行场景

  1. 将输入文件 EDI_855_XMLInput.edi 复制到 FileReceiver/Documents/Production 文件夹。
  2. 导航到 Viewers => Document Viewer,检查文档状态。这个 EDI 文档应该被拆封并转换为 XML。
  3. 这个 XML 文档被发送到 Partner 目的地。
  4. 输出事务如下所示:
    图 9. Document Viewer 中的事务
    Document Viewer 中的事务

场景 2. EDI 到 ROD 文档流

在场景 2 中,一个来自源贸易伙伴的入站 EDI X12 ISA 穿过集线器,该 EDI 在集线器中转换为 ROD,然后被发送到目标贸易伙伴。映射是 compiledEDI_ROD.eif,输入文件是 edi2adf.inp:

图 10. EDI 到 ROD 文档流
EDI 到 ROD 文档流

步骤 1. 导入映射

  1. 使用 EIF Import Wizard 导入映射,如场景 1 的步骤 1 所述:
    图 11. Map import completion 屏幕
    Map import completion 屏幕

步骤 2. 验证映射导入

参见场景 1 的步骤 2 验证:S-DT-EDI-TO-ADF 是否列示,文档定义是否创建。

步骤 3. 创建接收器

  1. 导航到 Hub Admin => Receivers
  2. 单击 Create Receiver
  3. 指定 Receiver 的名称。例如:EDItoRODFileReceiver。
  4. 选择 Transport 作为 File Directory
  5. 指定 Document Root Path。例如:/EDItoRODFileReceiver。
  6. 单击 Receiver Creation 页面上的 Save

步骤 4. 创建合作伙伴

在场景 1 的步骤 4 中创建的合作伙伴可以在这个场景中重用,或者,也可以创建新的合作伙伴。为简便起见,重用场景 1 中创建的合作伙伴。编辑输入文件 edi2adf.inp,修改 Sender 和 Receiver IDs,如图 7 中的 场景 1 所示。

步骤 4. 创建目的地

选择 transport 作为 File Directory,创建 Manager 和 Partner 的 Destinations。这个步骤可以重用场景 1 中创建的目的地。

步骤 5. 创建交互

对于 EDI 到 ROD 场景,创建两个交互:一个对应于拆封,一个对应于生成的已拆封消息到 ROD 的转换。第一个交互已经在场景 1 的步骤 6 中创建,第二个交互已在转换映射导入时创建。

步骤 6. 为合作伙伴启用 B2B 功能

  1. 为 Manager (Internal Partner) 启用以下 Package、Protocol 和 Document Flow:
    • Package: None, Protocol: EDI-X12 (ALL), Document Flow: ISA (ALL)
    • Package: N/A, Protocol: X12V2R1 (ALL), Document Flow: 850 (ALL)
  2. 为 Partner (External Partner) 启用以下 Package、Protocol 和 Document Flow:
    • Package: N/A, Protocol: EDI-X12 (ALL), Document Flow: ISA (ALL)
    • Package: None, Protocol: DEMO850CL_DICTIONARY (ALL), Document Flow: DEMO850CLSUW (ALL)

步骤 7. 启用连接

  1. 导航到 Account Admin => Connections
  2. 从 Source 下拉列表中选择 Manager
  3. 从 Target 下拉列表中选择 Partner
  4. 激活连接,如下所示:
    图 12. 激活合作伙伴连接
    激活合作伙伴连接

步骤 8. 支持带有多个 IDs 的元素

这个配置已经在场景 1 的步骤 9 中完成。

步骤 9. 运行场景

  1. 将输入文件 edi2adf.inp 复制到 EDItoRODFileReceiver/Documents/Production 文件夹。
  2. 导航到 Viewers => Document Viewer,检查文档状态。这个 EDI 文档应该被拆封并转换为 ROD。
  3. 这个 ROD 文档然后被发送到 Partner 的目的地。输出事务如下所示:
    图 13. Document Viewer 中的事务
    Document Viewer 中的事务

结束语

本文演示了在 WebSphere Partner Gateway V6.2 中进行拆封和转换的两个场景 —— EDI 到 XML 转换和 EDI 到 ROD 转换。


下载

描述名字大小
代码样例samples.zip17 KB

参考资料

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=WebSphere
ArticleID=500072
ArticleTitle=通过 WebSphere Partner Gateway V6.2 实现 EDI,第 2 部分
publish-date=07122010