对接金蝶凭证K3(java对接)

  讲怎么对接以前先让我吐槽一下,对接金蝶要安装金蝶系统,我本身安装了一次没安装成功,金蝶公司的给我安装了七次也没有成功,最后发给我一个镜像,里面有安装好的金蝶系统才勉强能够,后面的就是这种坑了,对你爱理不理的!对接文档三张截图对接去吧!有些参数不清楚问一下结果对方也不清楚,有这么不负责任的公司吗!我这块须要java对接结果人给了份C#的代码尼玛坑啊!后来人又发了个用CXF生成的!搞了很久!后来问对方,结果对接的资料什么的全是百度出来的!妈的就这样付什么对接费。全是坑!不扯了!先给你们讲一下对接吧!其实连通金蝶不难!java

金蝶系统安装好以后:spring

1,、在本地安装一下apache-cxf,我会在个人GitHub上上传一下你们能够去下载或去CSDN上下载,这个解压一下而后和JDK同样配置一下环境变量。数据库

二、到cxf的bin目录下执行下面的命令:wsdl2java -d D:\\demo -client http://127.0.0.1/KDWEBSERVICE/VoucherData.asmx?wsdl  我这块是将生成的代码放大D盘的demo目录下, 后面就是你要生成的方法的访问路径,路径的话,只要你安装好金蝶系统,而后访问http://127.0.0.1/KDWEBSERVICE/这个路径就能够查看他的方法了。apache

三、代码生成好以后咱们能够先去数据库里面查一下帐套的ID,帐套表:t_ad_kdAccount_gl 凭证表:t_voucher ,代码中会生成两个方法一个查询一个添加,咱们能够先试下查询的方法是否能查询出来,能查询出来讲明方法是经过的!springboot

部分代码:测试

System.out.println("Invoking query...");
int _query_iAisID = 2;//帐套ID
java.lang.String _query_strUser = "Administrator";//用户名
java.lang.String _query_strPassword = "";
int _query_iPerCount = 10;
java.lang.String _query_strFilter = "";
java.lang.String _query_strTimeStampVal = "";
javax.xml.ws.Holder<java.lang.String> _query_strTimeStamp = new javax.xml.ws.Holder<java.lang.String>(_query_strTimeStampVal);
javax.xml.ws.Holder<com.kingdee.voucherdata.ArrayOfVoucher> _query_queryResult = new javax.xml.ws.Holder<com.kingdee.voucherdata.ArrayOfVoucher>();
javax.xml.ws.Holder<java.lang.String> _query_strMaxTimeStamp = new javax.xml.ws.Holder<java.lang.String>();
javax.xml.ws.Holder<java.lang.String> _query_strError = new javax.xml.ws.Holder<java.lang.String>();
port.query(_query_iAisID, _query_strUser, _query_strPassword, _query_iPerCount, _query_strFilter, _query_strTimeStamp, _query_queryResult, _query_strMaxTimeStamp, _query_strError);xml

四、这块我单独测试是放在生成的项目里面测试的,整合到咱们项目里的时候出现了一点问题,jar包冲突结果冲突解决了以后由于项目里面的一个jar包把调用的一个方法给重写了,项目的jar我又不敢乱删,而后我想了一个别的方法,我搭建了一个springboot的小项目,而后我本身的项目调用这个项目,这个项目再调用金蝶的项目,彻底能够!文档

代码和CXF会发布在GitHub上你们能够去下载!it

相关文章
相关标签/搜索