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

Sonali Samantaray, 软件工程师, IBM
 

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

简介

本文介绍 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 转换。

原文链接:http://www.ibm.com/developerworks/cn/websphere/library/techarticles/1005_samantaray/1005_samantaray.html

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14789789/viewspace-672138/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14789789/viewspace-672138/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值