当前位置: 首页 > news >正文

如何在知行之桥上通过业务单号查找原始报文?

在知行之桥中接收或发送的数据通常是EDI原始报文,知行之桥会对EDI原始报文进行格式转换,以方便用户后端系统的处理。因此,一般情况下,用户看到的都是转换后的数据结构,例如Json、XML或Excel等,无需直接查看原始EDI报文。但在以下特殊的业务场景下,用户需要查找到指定的原始报文:

1.对于接收方向的报文来说,例如订单,用户在查看转换后的数据结构后,对数据值存在疑问,需要向发送方求证,看是否存在数据值错误的情况,此时会需要提供EDI原始报文和订单编号,给发送方确认

2.对于发送方向的报文来说,例如发货通知,若是接收方验证报文失败,一般会通过EDI报文或以邮件等方式通知发送方,告知其发货通知单号和错误信息,此时发送方需内部排查,看是数据值错误还是EDI报文错误,若是EDI报文错误,为了确定具体错误信息,此时会提供原始的EDI报文,给接收方检查确认。

后端系统业务人员或交易伙伴提供的用于排查问题的信息,一般都是业务单号,如果传输的是订单,那提供的就是订单号;如果传输的是发货通知单,那就是发货通知单号;如果传输的是发票,那提供的就是发票号。那么,如何通过这些业务单据编号,在知行之桥EDI系统中准确查找到原始EDI报文呢?

在转换过程中对文件进行重命名

在收到交易伙伴或后端业务系统推送过来的数据时,文件名是多种多样的,此时需要对文件进行重命名处理,将业务单号放在文件名上,以便于后期运维查询。

在知行之桥中,文件重命名操作一般会在XML Map端口实现。

1.接收方向

以订单为例,在接收订单时,知行之桥中将会搭建如下工作流,我们在Markant_Map_ORDERS端口对文件名进行修改:

Find_original_message1.png

点击端口,在设置-目标文件中,新增代码脚本:

Find_original_message21.png

对代码脚本命名为Rename,并填入内容:

<arc:set attr="_message.header:filename" value="ORDERS_[xpath(BGM/C106/_1004) | def | trim]_[_ | snowflake].xml" />

其中,[xpath(BGM/C106/1004) | def | trim]是获取订单编号,[ | snowflake]则是生成随机数,以确保文件名不会重复。

Find_original_message3.png

保存后进行测试,在 输出 中即可看到,订单号已被添加到文件名中:

Find_original_message4.png

2.发送方向

以发货通知单为例,在发送发货通知单时,知行之桥上的工作流如下,我们在Markant_Map_DESADV端口对文件名进行修改:

Find_original_message5.png

在端口中新增代码脚本,并填入内容:

<arc:set attr="_message.header:filename" value="DESADV_[xpath(ASNNumber) | def | trim]_[_ | snowflake].xml" />

其中,[xpath(ASNNumber) | def | trim]是获取发货通知单号,[_ | snowflake]则是生成随机数,以确保文件名不会重复。

Find_original_message6.png

保存后测试,即可在输出中看到,发货通知单号已经被添加到文件名中:

Find_original_message7.png

根据文件名查找原始报文

在实施过程中完成第一步对文件进行重命名后,在后续文件传输的过程中,所有业务单号将被写入到文件名上。此时,我们就可以根据使用业务单号在知行之桥上查找文件,具体操作如下:

进入日志页面,在搜索框中输入要查询的业务单号,进行搜索,然后找到对应的那行消息,点击查看详情:

Find_original_message8.png

待跳转到详情页面,找到MFT端口,即EDI报文的传输端口,例如AS2/OFTP等,在MFT端口,即可看到对应的原始EDI报文:

Find_original_message9.png

点击文件名称,即可下载原始EDI报文:

Find_original_message10.png

如果您希望了解有关EDI对接的相关信息,欢迎交流。

阅读原文


http://www.mrgr.cn/news/15376.html

相关文章:

  • 如何评估云服务器提供商可靠性与信誉度
  • 【Python 千题 —— 基础篇】身份证隐藏的信息
  • Spring Boot 八股文
  • Linux 系统通过 FTP 上传文件到云服务器
  • 【数学分析笔记】第2章第4节收敛准则(6)
  • 喜羊羊做Python二级(模拟考试--易错点)
  • 排序算法之插入排序详细解读(附带Java代码解读)
  • WHAT - 通过 react-use 源码学习 React(Animations 篇)
  • 小白指南:Linux怎么创建压缩包?又怎么解压缩?
  • Android设备如何异地访问本地部署的code-server随时随地远程开发
  • Spring Boot DevTools:简化开发,实现热部署
  • FPGA开发——IIC实现简单的串口回环
  • HTML5有格调的个人介绍网站源码
  • 利用缓存优化 C++ 程序性能的实用指南
  • 【58同城-注册安全分析报告】
  • 如何在你vs code和ide编译器使用AI
  • java文件操作和IO流(详解)(๑•́ ₃ •̀๑)エー
  • Centos系统二进制安装mysql5.7.44、添加环境变量、复制启动脚本、初始化数据库、设置用户密码
  • css-50 Projects in 50 Days(2)
  • 《深入浅出WPF》读书笔记.10资源