EDI 学习开发(一)
最近有个需求,关于EDI 的开发,效果烂成一坨屎,写个总结,记录这坨屎。
配置文件:01.EDI.Export.Config(在EDI 服务器SystemConfig目录下)
02.EDI.TypeConfig(三个地方使用:客户端SystemConfig,AppServer/Systemconfig,EDI 服务/SystemConfig)
03.校验文件:IFTMBF.validator.Xml(三个地方:客户端SystemConfig/EDI,Server/Systemconfig/EDI,EDI 服务/SystemConfig/EDI)
(修改时将Mapping中的Name属性值改为当前新增的EDI名称)
04.IFTMBF.XSLT(Mapping时,对应节点与XML文件进行匹配,将报文转换成对应的txt格式。)
客户端配置:三个中心:
01.系统工具:->基础数据->状态类型->委托单列表->海运单证(HBL界面->新增(对应配置EDI.TYPE.CONFIG)
状态定义->委托单列表
02.基础数据 :交换配置->交换控制长度(只修该值)为6
03.EDI 中心:EDI类型->委托单列表->新增->(描述即为在界面显示的下联菜单)
代码转换->客户代码->代码转换类型->代码转换列表
EDI配置中的表(用于升级抓取脚本):
EDI_CODE_CONVERT_CONFIG
SB_STATUS_TYPE
EDI_MESSAGE_TYPE
EDI_INTERCHANGE_CONFIGURATION
EDI_PARTNER_CODE
edi_message_reference
edi_message_reference_detail
存储过程:
取数存储过程:SP_EDI_SEARCH_IFTMBF
校验存储过程:SP_EDI_CHECK_XXX
注:在校验文件中,搜索“true”,值为true的执行校验,为空的字段不进行校验。
MappingFiles->xslt文件的字段相应增删。
***每次有新文件覆盖或者新增,必须重启相应的EDI 服务***
关于升级:
01.备份文件(之所以能够苟活至今,全靠备份功夫还行):
APP Server SystemConfig(EDI.Type.Config,EDI.Export.config)/edi(IFTMBT.Validetor.Xml)
APP Server Download/(Update.Xml,EDI.Type.Config.Zip,EDI.Export.config.Zip)(好像EDI.Export.Config文件只在EDI Server中)
EDI Server SystemConfig(EDI.Type.Config,EDI.Export.config)/edi(IFTMBT.Validetor.Xml)
EDI Server SystemConfig /MappingFiles/IFTMBF.XSLT
02.升级文件:
只需打包一个文件SystemConfig(客户端:SystemConfig/EDI.Type.Config,EDI.Export.config)
其余为EDI Server 和 APP Server 中对应路径的文件(参照备份)
常犯的错误及解决方法:
01.删除时没有提示某个字段的校验(EDI.Server中没有获取对应的MSG_ID,导致执行对应存储过程是没有返回校验结果的数据)
02.测试库报文生成ok,但是正式库日志说明报文生成ok,但找不到对应报文(覆盖了新的EDI.Export.Config文件,没有重启EDI服务,导致生成的报文被FTP抓走)
03.生成的报文数据缺少或者末尾段的统计报文数目错误(XSLT与生成的XML格式报文元素节点调试,是否Mapping时,没有找到相应的节点,没有生成对应的报文。统计数目:在XSLT文件中有个Select:count="/*/*XXXXX" 的统计表达式,其实这个表达式 我一点也没看懂。)
心得:
两个调试:
01.抓取对应委托单的LOG_ID,找到对应存储过程检查返回的报文数量以及各式;
02.调试XSLT(用VS打开,添加生成XML格式的报文),看Mapping节点是否一一对应,生成的报文格式与数量是否一致。
EDI 学习开发(一)的更多相关文章
- Delphi 7学习开发控件
我们知道使用Delphi快速开发,很大的一方面就是其强大的VCL控件,另外丰富的第三方控件也使得Delphi程序员更加快速的开发出所需要的程序.在此不特别介绍一些概念,只记录自己学习开发控件的步骤.假 ...
- WPF学习开发客户端软件-任务助手(下 2015年2月4日代码更新)
时光如梭,距离第一次写的 WPF学习开发客户端软件-任务助手(已上传源码) 已有三个多月,期间我断断续续地对该项目做了优化.完善等等工作,现在重新向大家介绍一下,希望各位可以使用,本软件以实用性为主 ...
- 深度学习开发环境搭建教程(Mac篇)
本文将指导你如何在自己的Mac上部署Theano + Keras的深度学习开发环境. 如果你的Mac不自带NVIDIA的独立显卡(例如15寸以下或者17年新款的Macbook.具体可以在"关 ...
- Android学习开发中如何保持API的兼容
Android学习开发中如何保持API的兼容: 1,采用良好的设计思路 在设计过程中,如果能按照下面的方式来进行设计,会让这个API生命更长久 面向用例的设计,收集用户建议,把自己模拟成用户,保证AP ...
- supervessel-免费云镜像︱GPU加速的Caffe深度学习开发环境
开发环境介绍 在SuperVessel云上,我们为大家免费提供当前火热的caffe深度学习开发环境.SuperVessel的Caffe有如下优点: 1) 免去了繁琐的Caffe环境的安装配置,即申请即 ...
- 【转】福利大放送--不止是Android,Github超高影响力开源大放送,学习开发必备教科书
[福利大放送]不止是Android,Github超高影响力开源大放送,学习开发必备教科书 目录 一.写在前面 1.free-programming-books 2.oh-my-zsh 3.awes ...
- Delphi 7学习开发控件(续)
继上次我们学习开发一个简单的画线控件后,基本的制作控件步骤已经清楚了,这次我们继续加深学习控件的制作.我们打开Delphi 7创建一个应用程序,拖动LineTo控件到窗体上,仔细看左边的对象设计器,可 ...
- Delphi 7学习开发控件(继承TGraphicControl只画一条线)
我们知道使用Delphi快速开发,很大的一方面就是其强大的VCL控件,另外丰富的第三方控件也使得Delphi程序员更加快速的开发出所需要的程序.在此不特别介绍一些概念,只记录自己学习开发控件的步骤.假 ...
- 从零开始在ubuntu上配置深度学习开发环境
从零开始在ubuntu上配置深度学习开发环境 昨天一不小心把原来配置好的台式机的开发环境破坏了,调了半天没有调回来,索性就重装一次ubuntu系统.这篇文章主要记录一个简单的.‘傻瓜式’教程. 一.U ...
随机推荐
- 初入TensorFlow————配置TensorFlow
能看到这说明你对python已经有一定的了解了,因此很多基础直接跳过. 一.TensorFlow环境配置: TensorFlow的环境配置在网上很多的教程都是用anaconda的方式,但是很容易出现冲 ...
- 2019.03.29 bzoj5463: [APIO2018] 铁人两项(圆方树+树形dp)
传送门 题意简述:给你一张无向图,问你满足存在从a−>b−>ca->b->ca−>b−>c且不经过重复节点的路径的有序点对(a,b,c)(a,b,c)(a,b,c) ...
- 二叉树/DFS总结
二叉搜索树(Binary Search Tree,又名排序二叉树,二叉查找树,通常简写为BST)定义如下: 空树或是具有下列性质的二叉树: ()若左子树不空,则左子树上所有节点值均小于或等于它的根节点 ...
- tomcat配置层了解一下 idea打包 java打包部署
Tomcat的所有配置都放在conf文件夹之中,里面的server.xml文件是配置的核心文件. 如果想修改Tomcat服务器的启动端口,则可以在server.xml配置文件中的Connector节点 ...
- 20155205 郝博雅 Exp4 恶意代码分析
20155205 郝博雅 Exp4 恶意代码分析 一.实验目标 1.监控你自己系统的运行状态,看有没有可疑的程序在运行. 2.分析一个恶意软件,就分析Exp2或Exp3中生成后门软件:分析工具尽量使用 ...
- vue学习-自动行合并的table
测试的效果 测试的html源码截图 v-table在tableGroup.js中定义,以下就render方法,行的所有单元格都在tableGrouper.js中处理 render:function(h ...
- <笔记>Apache+PHP+MYSQL配置
(1)Apache的the requested operation has failed错误: cmd—输入netstat –ano,可看到80端口已被进程占用,PID为4 打开任务管理器—〉查看—〉 ...
- python读取文件时提示"UnicodeDecodeError: 'gbk' codec can't decode
解决办法1. FILE_OBJECT= open('order.log','r', encoding='UTF-8') 解决办法2. FILE_OBJECT= open('order.log','rb ...
- vb越界
想起来一个项目当中,遇到了一个问题,就是老是显示数据溢出. 后来查查查,发现是由于vb的特性造成的.例如cbyte()函数.此函数()里面的数据运算也不能超过cbyte的范围,不然就回发生溢出问题.
- 安装kylin的艰难历程
前言:暑假里老师布置的任务没有完成,来到学校后马不停蹄的安装kylin,结果一路艰难险阻,搞了快两个星期都没有弄好....现在止步于hive阶段卡死...仅将之前的步骤记录下来以便重新安装时更加顺利. ...