IKEA EDI项目开源介绍

news2024/12/24 9:54:28

近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区中,即可开始使用。

今天的文章主要为大家介绍 IKEA EDI 项目,了解如何获取开源的项目代码以及如何部署到知行之桥 EDI 系统中。

准备下载和运行

IKEA EDI 到 JSON

使用 JSON 文件生成一系列 EDI 文档与 IKEA 通信。

下载工作流  下载示例文件 

IKEA EDI 方案简介

IKEA EDI 到 JSON 示例流具有预配置的端口,用于依据 IKEA 提供的 EDI 规范,转换以下交易集:

1. PRODAT 产品尺寸、重量、包装信息,IKEA 发送给供应商
2. PARTIN 业务单位信息,IKEA 发送给供应商
3. ORDERS 订单,IKEA 发送给供应商
4. ORDRSP 订单确认,供应商发送给 IKEA
5. IFTMBF 运输预定请求,供应商发送给 IKEA
6. IFTMBC 运输预定确认,IKEA 发送给供应商
7. DESADV 发货通知,供应商发送给 IKEA
8. VERMAS 验证总重量的消息,供应商发送给 IKEA
9. INVOIC 发票,供应商发送给 IKEA

通过 JSON 的方式实现 EDI 系统和 ERP 系统之间的集成是很常见的方案,它可以有效地将两个系统解耦,从而提高整个系统的可靠性和可维护性。

以下端口构成了工作流的核心元素:

1. AS2 端口:用于通过 Internet 网络进行安全传输的功能,确认 IKEA DVS 的 IKEA 信息,如 AS2 ID,URL 及公钥证书,以便进行正确配置。
2. EDIFACT 端口:从 XML 生成 EDI 文件或将 EDI 文件转换为 XML 以供进一步处理。
3. XMLMap 端口:提供可视化的方式将 XML 数据从一种结构转换为另一种结构,建立从源文件到模板文件的映射关系。
4. Branch 端口:对 XML 进行判断匹配区分不同业务类型的文件。
5. Notify 端口:向指定的收件人发送电子邮件通知。
6. JSON 端口:实现 JSON 文件与 XML 文件相互转换的功能。

如何在知行之桥 EDI 系统中部署上述工作流?

创建工作区

运行知行之桥 EDI 系统,导航到工作流选项卡并单击右上角的齿轮图标。 选择创建工作区选项为此示例流创建一个新的工作区 IKEA。

导入工作区

右侧齿轮下拉菜单中,单击导入工作区。 在出现的对话框中,选择下载的示例流 IKEA.arcflow 以导入相关的端口和设置。 或者直接将 IKEA.arcflow 拖拽到指定工作区。

成功导入示例工作流后,你将看到如下图所示的完整工作流:

完善工作流配置

实现 AS2 通信

导航到 IKEA_AS2 端口的 设置 选项卡。 根据 IKEA 提供的 AS2 文档配置 IKEA 的 AS2 信息,比如,IKEA 的 AS2 ID、交易伙伴 URL、交易伙伴证书等信息。 配置完成后请导航到 “输入” 选项卡上传测试文件与 IKEA 进行 AS2 连接测试,同时可以导航到 “输出” 选项卡查看 IKEA 发来的文件。

同时需要在 个人设置 选项卡下配置供应商的 AS2 信息:供应商的 AS2 ID,私钥证书,证书密码等。

实现从 EDIFACT 到 数据库 XML 的格式转换

实现文件格式转换主要借助 EDIFACT 端口以及 XMLMap 端口实现,其中 XMLMap 端口已经对数据映射进行了预配置,用户无需进行额外操作。 EDIFACT 端口中,需要在 设置 选项卡下填写用户和 IKEA 的真实信息,对交换头进行配置:

补充 Schemas

由于 IKEA EDI 项目中使用到了版本号为 D16A 的 EDIFACT 规范,因此需要在知行之桥 EDI 系统的安装路径下,找到以下文件夹:\www\app_data\edifact_schemas,将示例文件中的 D16A 文件解压后放置在以上文件夹中。如下图所示:

进入测试流程

以解析方向(即接收 IKEA 发来的 ORDERS 订单,并将其转换为 JSON 格式)为例,测试流程如下:

上传测试文件

导航到端口 ID 为 IKEA_EDIFACTToXML 的 EDIFACT 端口中,在 输入 选项卡下上传此前下载的示例文件:ORDERS.edifact。

查看 JSON 结果

X12 端口发出后,导航到端口 ID 为 IKEA_XMLToJSON 的 JSON 端口中,在 输出 选项卡下可以看到刚刚接收的 850 文件的状态为 Success ,这时就可以下载 JSON 查看订单数据了。

如下所示,此为接收到的一条来自 IKEA 的包含采购订单信息的 JSON 文件。

{
    "Header": {
        "orderNo": "01206151111",
        "createDate": "2022-03-21",
        "orderType": "J",
        "freeTextZ": "",
        "transInfo": "",
        "freeTextT": "",
        "poNo": "01206151111",
        "customerOrderNo": "",
        "buyerNo": "5100-COM",
        "buyerName1": "",
        "buyerName2": "",
        "buyerStreet1": "",
        "buyerStreet2": "",
        "buyerCity": "",
        "buyertelephoneNo": "",
        "deliveryNo": "123-STO",
        "deliveryName1": "",
        "deliveryName2": "",
        "deliveryStreet1": "",
        "deliveryStreet2": "",
        "deliveryCity": "",
        "deliverytelephoneNo": "",
        "invoiceNo": "3400-COM",
        "invoiceName1": "",
        "invoiceName2": "",
        "invoiceStreet1": "",
        "invoiceStreet2": "",
        "invoiceCity": "",
        "invoicetelephoneNo": "",
        "supplierNo": "23211-SUP",
        "supplierName1": "",
        "supplierName2": "",
        "supplierStreet1": "",
        "supplierStreet2": "",
        "supplierCity": "",
        "suppliertelephoneNo": "",
        "deliveryCondition": "FCA",
        "deliveryPlace": "Haining, CN",
        "Detail": [
            {
                "lineItemNo": "1",
                "buyerItemNo": "10251234",
                "orderQty": "92",
                "departureDate": "2022-03-04",
                "lastDeliveryDate": "2022-03-03",
                "netPrice": "3.87",
                "currency": "CNY",
                "loadPlanNo": "1",
                "referenceNo": "",
                "tariffNo": "940399",
                "priorityNo": "0",
                "entryFlagNo": "",
                "transInstructionNo": "",
                "serviceLevelNo": "1",
                "fileName": "",
                "fileFormatName": ""
            }
        ]
    }
}

你启动并运行了吗?

如果答案是肯定的,那么恭喜你成功地配置了 IKEA EDI 方案示例工作流!如果你遇到任何问题或有任何疑问,请随时联系我们。

阅读原文

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

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

相关文章

一次 Nacos 导致的 CPU 飙高问题完整复盘

今天下午突然 出现 测试环境 cpu飙高,干到了 60%,其他项目 响应时间明显变长。。。有点吓人,不想背锅 项目背景 出问题的项目是 需要连接各个不同nacos 和不同的 namespace 进行对应操作的 一个项目,对nacos的操作都是httpClien…

【工具】Maven加强版 — mvnd的使用

【工具】Maven加强版 — mvnd的使用 下载 Releases apache/maven-mvnd (github.com) 选对应的版本 我用的Windows版 1、安装 直接解压。 然后配置环境变量:将 bin 目录添加到 PATH 2、测试 打开CMD终端,输入 mvnd -v 可以看到如下信息表示安装成…

Linux入侵检测学习笔记2

查看异常流量: iftop:动态显示网络接口流量信息: iftop工具是一款实时流量监控工具,可用于监控TCP/IP连接等,必须以root用户的身份运行。 安装方法: yum install -y epel-release yum install -y iftop…

云服务器docker方式部署JAVA微服务

党建后端java微服务部署步骤(采用docker部署) 开通dua 开通端口号:8848、6379、8000 - 8010、9848、9849 step1:安装必要的一些系统工具 sudo apt-get update sudo apt-get install ca-certificates curl gnupg step2&#xff1a…

Spark SQL典型案例

文章目录 一、实现任务1、准备数据文件2、创建Maven项目3、修改源程序目录4、添加依赖和设置源程序目录5、创建日志属性文件6、创建HDFS配置文件7、创建词频统计单例对象 一、实现任务 1、准备数据文件 在/home目录创建words.txt hello scala world hello spark world scala…

使用 docker 搭建 mongodb 6 单节点副本集

1、拉取 mongodb 镜像 docker pull mongo 2、启动一个 mongodb 的容器,通过副本集的形式运行 docker run --name mongoRs -d -p 27017:27017 mongo --replSet rs0 --name 创建容器的名称。 自定义 -d 以守护进程方式启动容器 -p 2701:27017:MongoD…

Dockerfile 使用介绍

我们使用 Dockerfile 定义镜像,依赖镜像来运行容器,因此 Dockerfile 是镜像和容器的关键,Dockerfile 可以非常容易的定义镜像内容,同时在我们后期的微服务实践中,Dockerfile 也是重点关注的内容,今天我们就…

Android系统的问题分析笔记(9) - Android 中的 Uri 如何使用呢 ?

问题 Android 中常用的 uri 如何使用呢 ?(此篇分析基础为Android 7.1.1系统源码),参看Android官方说明:https://developer.android.com/reference/android/net/Uri,代码可在此查看:https://git…

python 模块, 包

C# 中模块,就好像要using dll文件 python 中模块 就是python文件 包括类、方法、变量等 from 模块名 import 功能名 功能名() import 模块名 和 from 模块名 import * 模块名都引入了,但使用有所区别 import 模块名 使用 模块名.功能名 from 模块名 impo…

天天使用MySQL,你知道MySQL数据库能抗多少压力吗?附(真实案例)

今天给大家分享一个知识点,是关于MySQL数据库架构演进的,因为很多兄弟天天基于mysql做系统开发,但是写的系统都是那种低并发压力、小数据量的,所以哪怕上线了也就是这么正常跑着而已,但是你知道你连接的这个MySQL数据库…

关于HTTP头部的重要事项,你可能不知道的!

HTTP请求就像向服务器请求某些内容,而HTTP响应则是服务器的回复。就像发送一条消息并收到回复一样。 HTTP请求头部是在发出请求时包含的额外信息,比如你要发送的数据类型或你的身份信息。在响应头部中,服务器提供有关发送给你的响应的信息&am…

【大学物理实验】示波器

文章目录 选择题选择题 函数信号发生器产生的电信号调节频率和调整幅度大小的旋钮是: A. 1,2 B. 2,3 C. 3,4 D. 1,4 正确答案: D 信号输入示波器Y2通道后,示波器面板上工作方式和内触发的选择应该是: A. 工作方式选Y1,内触发选Y2 B. 工作方式选Y2,内触发选Y2 C. 工作方…

day22--哈希

两数之和 哈希表的思想 以空间换时间&#xff0c;这是由于哈希表保存了键值对&#xff0c;其查找复杂度为O(1)。 解题思路为 定义哈希表hashmap&#xff0c;其存放的键值对为<取值&#xff0c;下标>。 从开始处遍历数组&#xff0c;对于第i个位置&#xff0c;在哈希表…

【字符串part02】| 28.实现strStr()、459.重复的子字符串

目录 ✿LeetCode28.实现strStr()❀ ✿LeetCode459.重复的子字符串❀ ✿LeetCode28.实现strStr()❀ 链接&#xff1a;28.实现strStr() 给你两个字符串 haystack 和 needle &#xff0c;请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标&#xff08;下标从 0 …

C++ gets函数与strlen函数详解

引言 今天在看y总视频师对下面这串代码颇感兴趣&#xff1a; #include <iostream> #include <string.h> using namespace std; int main() {char s[1000];gets(s);int n strlen(s);for (int i 0; i < n; i){int j i;while (j < n && s[j] ! ){…

【MyBatis】什么是MyBatis?

MyBatis 是一款优秀的持久层框架&#xff0c;用于简化JDBC的开发。 说人话就是连接数据库并执行SQL的框架。 文章目录 0 JDBC简介及流程0.1 DriverManager / Connection0.2 ResultSet0.3 PreparedStatement1 SQL注入2 流程 1 MyBatis通过注解执行SQL语句1.1 MyBatis入门&…

简要介绍 | 神经辐射场(NeRF):原理、挑战与未来展望

神经辐射场(NeRF)&#xff1a;原理、挑战与未来展望 1. 背景介绍 随着深度学习和计算机图形学的不断发展&#xff0c;人工智能和图形学领域的交叉研究越来越多地受到关注。神经辐射场(NeRF)是其中一个极具潜力的研究方向&#xff0c;它结合了计算机图形学和深度学习&#xff0…

STM32驱动INMP441麦克风实现左右通道声音采集

一、参考原理图 1、INMP441 2、STM32 注意INMP441的第4引脚&#xff0c;用来选择左声道还是右声道。 二、代码生成 代码使用cubemx生成 1、iis设置 2、DMA设置 3、生成代码 三、代码修改 1、首先定义一个数组 #define BUFFER_SIZE (4)static uint32_t simpleBuf[BUFFER_S…

金属表面缺陷检测类的实践项目

【说明】&#xff1a;下面仅以Pytorch CNN Transfer Learning: Image Classifier 关于金属表面缺陷检测类的实践项目为例介绍如何创建虚拟环境以及在JuypterLab中使用对应的内核 项目已开源在https://github.com/astudent2020/Metal_Surface_Defects 提供数据集及相关代码 …

【IMDB】IMDB数据集导入PostgreSQL和join order benchmark(JOB)查询生成

目录 简述join order benchmark(JOB)查询获取IMDB导入数据到PG 简述 IMDB数据库是一个很大的&#xff0c;被广泛使用的电影&#xff0c;电视节目和演员信息的数据库&#xff0c;它包括了有关电影、电视节目、演员、制作公司、编剧、导演等信息。IMDB数据集可以为电影评论、分类…