最近有个需求,关于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 学习开发(一)的更多相关文章

  1. Delphi 7学习开发控件

    我们知道使用Delphi快速开发,很大的一方面就是其强大的VCL控件,另外丰富的第三方控件也使得Delphi程序员更加快速的开发出所需要的程序.在此不特别介绍一些概念,只记录自己学习开发控件的步骤.假 ...

  2. WPF学习开发客户端软件-任务助手(下 2015年2月4日代码更新)

    时光如梭,距离第一次写的 WPF学习开发客户端软件-任务助手(已上传源码)  已有三个多月,期间我断断续续地对该项目做了优化.完善等等工作,现在重新向大家介绍一下,希望各位可以使用,本软件以实用性为主 ...

  3. 深度学习开发环境搭建教程(Mac篇)

    本文将指导你如何在自己的Mac上部署Theano + Keras的深度学习开发环境. 如果你的Mac不自带NVIDIA的独立显卡(例如15寸以下或者17年新款的Macbook.具体可以在"关 ...

  4. Android学习开发中如何保持API的兼容

    Android学习开发中如何保持API的兼容: 1,采用良好的设计思路 在设计过程中,如果能按照下面的方式来进行设计,会让这个API生命更长久 面向用例的设计,收集用户建议,把自己模拟成用户,保证AP ...

  5. supervessel-免费云镜像︱GPU加速的Caffe深度学习开发环境

    开发环境介绍 在SuperVessel云上,我们为大家免费提供当前火热的caffe深度学习开发环境.SuperVessel的Caffe有如下优点: 1) 免去了繁琐的Caffe环境的安装配置,即申请即 ...

  6. 【转】福利大放送--不止是Android,Github超高影响力开源大放送,学习开发必备教科书

    [福利大放送]不止是Android,Github超高影响力开源大放送,学习开发必备教科书   目录 一.写在前面 1.free-programming-books 2.oh-my-zsh 3.awes ...

  7. Delphi 7学习开发控件(续)

    继上次我们学习开发一个简单的画线控件后,基本的制作控件步骤已经清楚了,这次我们继续加深学习控件的制作.我们打开Delphi 7创建一个应用程序,拖动LineTo控件到窗体上,仔细看左边的对象设计器,可 ...

  8. Delphi 7学习开发控件(继承TGraphicControl只画一条线)

    我们知道使用Delphi快速开发,很大的一方面就是其强大的VCL控件,另外丰富的第三方控件也使得Delphi程序员更加快速的开发出所需要的程序.在此不特别介绍一些概念,只记录自己学习开发控件的步骤.假 ...

  9. 从零开始在ubuntu上配置深度学习开发环境

    从零开始在ubuntu上配置深度学习开发环境 昨天一不小心把原来配置好的台式机的开发环境破坏了,调了半天没有调回来,索性就重装一次ubuntu系统.这篇文章主要记录一个简单的.‘傻瓜式’教程. 一.U ...

随机推荐

  1. fastjson 序列化,反序列化Map对象的顺序问题

    使用JSONObject  读取JSON字符串时,读取出来的数据,通过变量时是无序的. 但是业务希望返回是顺序的. String str="{name:\"A\",add ...

  2. 2019浙江省赛K zoj4110 Strings in the Pocket(manachar)

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=6012 题意 给你两个串,可以翻转a串的一个区间,问有多少对l,r使得翻转后的a ...

  3. Win7 VS2017编译Godot3.0.2和2.1.4

    千呼万唤屎出来,Godot终于发布3.0版本的源码了,今天是2018年3月17日,自去年接触过后,一直没事就刷刷Gayhub,看看3.0什么时候更新,刷了一年也没结果. 今天上Youtube无意中搜了 ...

  4. Javascript Engine, Java VM, Python interpreter, PyPy – a glance

    提要: url anchor (ajax) => javascript engine (1~4 articles) => java VM vs. python interpreter =& ...

  5. Apache Tomcat Eclipse Integration

    An Illustrated Quick Start Guide Apache Tomcat makes hosting your applications easy. The Eclipse IDE ...

  6. python+unittest 控制用例的执行顺序

    unittest的main()方法执行用例的顺序是按照测试类.测试方法的名字的ASCII顺序来执行测试方法.所以可能执行的顺序和你想要的顺序不一样,可能通过下面两种方法修改执行顺序 1. 通过Test ...

  7. 背水一战 Windows 10 (117) - 后台任务: 后台下载任务

    [源码下载] 背水一战 Windows 10 (117) - 后台任务: 后台下载任务 作者:webabcd 介绍背水一战 Windows 10 之 后台任务 后台下载任务 示例演示 uwp 的后台下 ...

  8. 包建强的培训课程(13):iOS与ReactNative

    @import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...

  9. 从构建分布式秒杀系统聊聊WebSocket推送通知

    秒杀架构到后期,我们采用了消息队列的形式实现抢购逻辑,那么之前抛出过这样一个问题:消息队列异步处理完每个用户请求后,如何通知给相应用户秒杀成功? 场景映射 首先,我们举一个生活中比较常见的例子:我们去 ...

  10. Android Studio升级3.2.1后的合并XML出错的解决方案

    升级到3.2.1版本之后,遇到了合并XML出错的问题.错误内容大概如下: 当大家看到这个问题的时候,可能会有一行是可以点击的文件目录,点击到报错的地方. 如果没有可以点击的地方,也可以根据目录和 “行 ...