在知行之桥EDI系统中,由XML Map端口来处理不同 XML 之间的映射关系,主要的功能为:通过鼠标拖拽建立关系映射,将输入的源XML文件转换为目标XML文件。
XML Map端口的基本设置为:
- 源文件:配置源XML文件的模板,例如,要将EDI标准XML文件转换为其他格式的XML文件,则这时的源文件则为EDI标准XML文件。
- 目标文件:配置目标XML文件的模板,此处要配置的模板即为上面例子中的其他XML文件。
- 自动化设置:配置自动化功能,勾选上Send后,转发到该端口的XML文件会自动完成对应的关系转换,并转发到下一个端口。
上传源和目标模板文件后,映射设计器将填充源和目标 XML 结构。然后,可以将源中的元素拖放到目标中的元素上,以建立映射关系。XML Map端口界面如下:
XML Map端口的基础设置在设置界面;自动化 界面负责配置文件是否自动化发送,以及性能设置;高级设置则是我们的高级选项配置;输入/输出界面负责收发文件;事件界面用来写触发事件的代码,如下图所示:
可以看到左右两侧的字段信息被一根根的连线对应起来,鼠标点击左侧 源 中的方框选中即可自由拖拽至右侧 目标 中的字段。
如果需要取值的业务字段较多,源和目标中的对应关系将较为复杂。在映射过程中难免会出错,那么XML Map 端口是否可以恢复历史映射关系呢?
建立映射时,我们需要及时点击界面右上角的 保存变更 ,界面每保存一次,就会自动在端口根目录下生成Map.json.bak文件,如下图所示:
手动修改需要恢复的.bak文件,命名为Map.json即可恢复历史映射关系。
Windows文件路径为:C:ProgramDataArcESBworkspacesBOSCH_TestBOSCH_XMLMap_DESADVResources
接下来我将以博世的DESADV为例,为大家进行演示。首先我们可以看到此前已经做好了映射关系。
我们现在选择 目标 中,CPSLoop1>PACLoop1下的PAC02以及PAC03,我们现在将这两个字段与左侧 源 中的PackageNumber建立映射。
点击右上角保存变更。 可以看到这个XMLMap端口的根目录下出现了新的Map.json.bak7文件。
接下来我们将鼠标放置在 目标 区域的PAC02上,会出现如下图所示的四个图标:从左往右依次为:表达式、条件、自定义脚本以及删除映射。
点击删除映射,即可删除我们刚刚创建的映射关系。PAC03也使用同样的方式删除映射。结果如图:
再次点击右上角的保存变更,可以看到这个XMLMap端口的根目录下出现了新的Map.json.8文件。
我们刚刚的操作已经删除了PAC02以及PAC03这两个字段的映射,如果是误删操作,现需要对修改结果进行回滚。但又不知道如何快速建立PAC02以及PAC03这两个字段的映射。 这是,就可将Map.json.8这个文件名修改为Map.json。刷新后,回到知行之桥中,查看PAC02以及PAC03的映射关系。如下图所示:
可以看到,已经恢复了历史映射关系。
按照如上方式恢复历史映射关系,有效地保护了已经完成的工作量,一旦修改出现问题,可以及时回滚到历史版本。每一次点击保存之后的映射都将会被保存在 .bak文件中,了解更多EDI相关信息,欢迎联系我们。
更多 EDI 信息,请参阅: EDI 是什么?
阅读原文