汽车EDI:IAC Elmdon EDI 对接指南

近期收到客户C公司的需求,需要与其合作伙伴IAC Elmdon建立EDI连接,本文将主要为大家介绍IAC Elmdon EDI 对接指南,了解EDI项目的对接流程。

项目需求
传输协议:OFTP2

IAC Elmdon 与其供应商之间使用的传输协议为OFTP2。OFTP2是由Data Interchange在2007年编写的,作为通过互联网、ISDN和X.25网络安全传输商业文件的规范。

OFTP 2可以对信息数据进行加密和数字签名,请求签名的收据,并提供高水平的数据压缩。当通过TCP/IP、X.25/ISDN或本地X.25使用OFTP 2时,所有这些服务都是可用的。当在TCP/IP网络(如互联网)上使用时,通过在传输层安全(TLS)上使用OFTP 2,可以获得更高的会话级安全。

报文标准:EDIFACT

IAC Elmdon 使用EDIFACT报文标准作为其与供应商之间数据传输的标准。本次EDI项目中涉及到的报文类型:

  • 接收来自 IAC Elmdon 的DESADV 发货通知
  • 向IAC Elmdon 发送DELFOR 物料需求预测
实施方案

CSV全称为Comma-Separated Values是一种常见的文件格式,以纯文本的形式,将逗号作为各字段的分隔符,每行表示一个数据记录。

与其他格式相比,CSV格式占用更少的存储空间,更加轻量级。此外CSV格式的文件还可以在不同系统及软件之间进行交换,具有较强的兼容性,用户直接通过文本编辑器即可打开和查看文件内容。

EDI解决方案

基于知行之桥EDI系统建立OFTP连接,C公司由于业务系统尚未完善,因此本次项目中并不考虑实现EDI系统与企业内部系统的集成,最终选择了CSV方案。

搭建 OFTP 传输通道

基于知行之桥EDI系统建立与IAC Elmdon的OFTP2连接通道需要准备:

  • 部署OFTP服务的服务器,且交易伙伴可访问到该服务
  • ODETTE ID和ODETTE证书

通过知行之桥EDI系统的OFTP端口,用户可以在可视化界面中进行连接信息的配置,需要双方提供的信息如下:

  • SSID SSID:作为OFTP数据传输中的唯一身份标识,即就是向ODETTE申请购买的ODETTE ID。该值将包含在发送的请求中,以标识发送方身份,并在接收消息时可以寻址到相关的OFTP端口。
  • Password:与 SSID 相匹配的密码。此密码为自定义值,只需确保交易伙伴系统内配置相同的值即可,长度不超过8位。
  • Remote Host:远程 OFTP 服务器的主机名称或 IP 地址。
  • Port 端口:连接到远程 OFTP 服务器的端口。
  • Public Certificate:发送消息时,用于加密的公钥证书。该证书必须与交易伙伴的私钥证书匹配,并在共享 OFTP 详细配置信息时,交易伙伴应提供此公钥证书。

工作流界面中搭建OFTP端口,在 设置 选项卡下配置IAC Elmdon的OFTP连接信息。界面如下所示:

IAC_Elmdon_EDI1.png

在 个人设置 选项卡下配置C公司自己的OFTP连接信息,页面如下所示:

IAC_Elmdon_EDI2.png

数据格式转换

IAC Elmdon 发送给 C 公司:

1.知行之桥EDI系统的OFTP端口接收来自IAC Elmdon的DELFOR报文
2.将接收到的EDI报文通过EDIFACT端口转换为XML
3.通过XMLMap端口实现目标XML与源XML之间的映射处理
4.通过CSV端口实现XML到CSV之间的格式转换
5.通过Email Send端口将存有交付预测数据的CSV文件发送至C公司的指定邮箱中

C 公司发送给IAC Elmdon :

1.C公司将包含发货通知数据的CSV文件发送至指定邮箱中,EDI系统将会自动抓取
2.通过CSV端口,将接收到的CSV文件转换为XML
3.通过XML Map 端口实现源文件到目标文件的映射处理
4.通过EDIFACT端口实现XML到满足EDIFACT报文标准的DESADV报文的格式转换
5.通过OFTP端口将DESADV报文发送给IAC Elmdon

整体方案流程图:

IAC_Elmdon_EDI3.png

项目成果

在知行之桥EDI系统中针对上述需求可以搭建如下所示的工作流:

IAC_Elmdon_EDI4.png

项目回顾

转换分析:生成CSV文件时需要注意,要将XML文件转换为CSV文件,输入的XML必须具有“平面”结构。这意味着,不管根元素如何,XML结构的深度都是2。

如果输入的XML文件层级大于2,则无法转换为CSV格式。此时可以将头部信息放在明细信息下,简化层级结构。

传输过程中,头部信息只需出现一次,而明细信息可重复出现多次。在保证信息完整输出的前提下,将头部信息放在明细信息中既满足了XML转CSV的“平面”结构需求,又不影响业务数据输出的完整性。

了解更多 EDI 信息,请参阅: EDI 是什么?

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/13339.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何管理研发人员

在日益激烈的市场竞争中,企业的核心竞争力往往取决于其技术创新能力和研发实力。然而,随着企业研发的深入和技术的积累,研发人员泄密的风险也愈发严重。如何防止研发人员泄密,已经成为企业面临的重要问题。本文将从加强员工保密意…

财富加速器!AI智能无人直播,矩阵操作引领您卖货、卖团购券、拓客,助力财富梦想实现!

财富加速器!AI智能无人直播,矩阵操作引领您卖货、卖团购券、拓客,助力财富梦想实现! 在当今数字化时代,AI智能技术正以惊人的力量催生新的商机,为经济增长注入源源不断的动力。如果您渴望实现财富梦想&…

学习笔记:使用Ollama项目快速本地化部署Qwen 1.5模型

Ollama简介 Ollama是一个开源框架,专门设计用于在本地运行大型语言模型。它的主要特点是将模型权重、配置和数据捆绑到一个包中,从而优化了设置和配置细节,包括GPU使用情况,简化了在本地运行大型模型的过程。Ollama支持macOS和Li…

利用宝塔面板搭建nodejs网站(不使用pm2)

利用宝塔面板搭建nodejs网站(不使用pm2) 1. 准备代码文件2. 将代码上传至云主机3. 云主机配置3.1 绑定域名3.2 利用面板配置node环境3.3 利用面板增加node项目 4. 打开端口 暂时只演示http的。https类似,需要添加证书。 1. 准备代码文件 清单…

Linux---在Xshell上配置软件包管理器yum

一、什么是yum 在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序. 但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软…

宝塔助手是以宝塔Linux面板提供的API开发的一款可以随时随地管理服务器的APP

【软件介绍】手机操控云服务器的神器软件,本人亲测在用,好用极了! 【软件名称】宝塔助手 【软件包名】com.lensyn.zsbt 【软件版本】1.4.1 【软件大小】29.00M 【适用系统】安卓 【软件特色】宝塔助手是以宝塔Linux面板提供的API开发的一款可…

设计模式分享

2. 策略模式 2.1 定义:策略模式定义了家族算法,分别封装起来(这些算法完成的都是相同的工作,只是实现不同),它可以用相同的方式调用所有的算法,减少了各种算法类与使用算法类之间的耦合。此模式…

Python实战开发及案例分析(25)—— 爬山算法

爬山算法(Hill Climbing)是一种启发式搜索算法,常用于解决优化问题。它的核心思想是从一个初始解开始,不断朝着增益最大的方向移动,直到达到局部最优解。 实现步骤 从初始解开始。在当前解的邻域中找到一个更好的解。…

LeetCode109:组合总和Ⅳ

题目描述 给你一个由 不同 整数组成的数组 nums ,和一个目标整数 target 。请你从 nums 中找出并返回总和为 target 的元素组合的个数。 题目数据保证答案符合 32 位整数范围。 解题思想 使用完全背包 代码 /*dp[i]:表示装满容量为i的背包有dp[i]种方…

高通QCS6490开发(二)AI板卡接口

QCS6490是高通公司针对高端物联网终端而优化的SoC,在性能和功耗上有最优的平衡。《高通QCS6490 AIoT应用开发》是一系列AIoT应用开发文章,介绍如何基于QCS6490平台做AIIoT的应用开发。 本文主要介绍FV01开发板的内部和外部接口。 内部的板载接口如下 接口…

天锐绿盾 | 设计院、机械制造行业透明加密cad图纸、图纸防泄密软件

天锐绿盾为设计院及机械制造行业量身打造的透明加密CAD图纸解决方案,专注于保障这些行业中的核心资产—设计图纸的安全。通过集成先进的加密技术和访问控制策略,该软件系统能有效防止图纸的未经授权访问和意外泄密。 PC地址: https://isite…

每日一练 2024.5.16 (补 2024.5.15)

题目: 给定一个 正整数 数组 beans ,其中每个整数表示一个袋子里装的魔法豆的数目。 请你从每个袋子中 拿出 一些豆子(也可以 不拿出),使得剩下的 非空 袋子中(即 至少还有一颗 魔法豆的袋子)…

2024汽车行业用户洞察与营销趋势白皮书

来源:小红书&寰球汽车:

设备接入物联网平台必须掌握的关键信息——青创智通

工业物联网解决方案-工业IOT-青创智通 设备接入物联网平台需要掌握的信息相当丰富且复杂,这涉及到多个层面,包括技术细节、平台选择、安全性考虑以及后期管理与维护等。以下将详细阐述设备接入物联网平台所需掌握的关键信息。 首先,我们需要…

【recast-navigation-js】通过websocket获取navmesh数据并初始化

目录 说在前面目录结构websocket服务器前端结果 说在前面 操作系统:windows 11浏览器:edge版本 124.0.2478.97recast-navigation-js版本:0.29.0golang版本:1.21.5 目录结构 D:. │ go.mod │ go.sum │ main.go // websocket …

Halcon 根据XYZ生成3D模型

Halcon 根据XYZ生成3D模型 x_points := [a_x_points, b_x_points, c_x_points]y_points := [a_y_points, b_y_points, c_y_points]z_points := [a_z_points, b_z_points, c_z_points]stop()gen_object_model_3d_from_points

风电功率预测 | 基于遗传算法优化BP神经网络实现风电功率预测(附matlab完整源码)

风电功率预测 风电功率预测 | 基于遗传算法优化BP神经网络实现风电功率预测(附matlab完整源码)完整代码风电功率预测 | 基于遗传算法优化BP神经网络实现风电功率预测(附matlab完整源码) 基于遗传算法优化BP神经网络是一种常见的方法,用于改进BP神经网络在风电功率预测中的性…

JavaScript-基本数据类型和变量

基本数据类型 JavaScript支持数字、字符串和布尔值3种基本数据类型 字符串型 字符串型是JavaScript用来表示文本的数据类型,字符串通常由单引号或双引号括起来,如果字符串存在特殊字符,可以用转义字符代替 数字型 数字型也是JavaScript中的基…

【数据链路层】以太网帧包解析

文章目录 以太网的帧结构解析数据链路层信息 以太网的帧结构 使用抓包工具,查看数据链路层信息: 解析数据链路层信息 (1)协议类型:代表上层的协议 (IP00800 ARP00806 IPv686DD ) 如图中所示&a…

金蝶AAS-V9.0前后端部署

前言 包含金蝶AAS9.0部署,前端部署,后端部署。 金蝶AAS9.0部署 1. 下载金蝶AAS9.0安装包上传至服务器; 2. 解压安装包; unzip -d /opt/AAS-V9.0 AAS-V9.0.zip3. 配置JAVA路径; echo $JAVA_HOME vim /opt/AAS-9.0…