当前位置: 首页 > 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对接的相关信息,欢迎交流。

阅读原文

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【推荐】多模态基础大模型技术白皮书|附下载
  • 衡石产品手册--数据集如何配置对接和开发
  • 限流策略探讨
  • 关于springboot的Rest请求映射处理的源码分析(二)
  • Furion+SqlSugar+Swagger企业级后端工程师 - 学习路线总目录
  • 爬虫入门学习
  • 基于imx6ull平台opencv的图像采集、ffmpeg推流和Windows端拉流(多线程)
  • easyExcel 导入时,校验每个单元格数据
  • 如何快速判断Excel中选区跨页?
  • 笔记:应用Visual Studio Profiler识别和解决内存泄漏问题
  • UE4 BuildCookRun中的Archive的含义
  • 彩色相机拍照,图片时亮时暗
  • 数据结构(一)——顺序表和单向链表(一对一)
  • Magisk/Riru/LSPosed安装
  • SQLite的安装和使用
  • 【node学习】协程
  • iOS仿今日头条、壁纸应用、筛选分类、三方微博、颜色填充等源码
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • Linux快速复制或删除大量小文件
  • mysql外键的使用
  • Sequelize 中文文档 v4 - Getting started - 入门
  • V4L2视频输入框架概述
  • vue.js框架原理浅析
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • yii2中session跨域名的问题
  • 初识 webpack
  • 分享一份非常强势的Android面试题
  • 浮现式设计
  • 给新手的新浪微博 SDK 集成教程【一】
  • 排序算法学习笔记
  • 批量截取pdf文件
  • 扑朔迷离的属性和特性【彻底弄清】
  • 三栏布局总结
  • 十年未变!安全,谁之责?(下)
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 使用权重正则化较少模型过拟合
  • 1.Ext JS 建立web开发工程
  • ​LeetCode解法汇总2583. 二叉树中的第 K 大层和
  • ​业务双活的数据切换思路设计(下)
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #AngularJS#$sce.trustAsResourceUrl
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (k8s)Kubernetes本地存储接入
  • (初研) Sentence-embedding fine-tune notebook
  • (推荐)叮当——中文语音对话机器人
  • (一)C语言之入门:使用Visual Studio Community 2022运行hello world
  • (原創) 物件導向與老子思想 (OO)
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)JAVA中的堆栈
  • **登录+JWT+异常处理+拦截器+ThreadLocal-开发思想与代码实现**
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Micro Framework初体验