通过wsdl文件生成java客户端及简单调用

2018-12-14 16:00 更新

首先:下载安装axis1.4 下载地址(http://download.csdn.net/download/u011255725/9911612) 环境路径配置:classpath:D:\Axis2\axis1.4\axis-1_4\lib. axis1.4文件目录结构 在cc.bat中配置相关的生成规则(包括生成客户端的文件需要的关键jar包,生成文件目录和地址,wsdl文件等)如下:

  1. set AXIS_HOME=D:\Axis2\axis1.4\axis-1_4
  2. set CLASSPATH=,;%AXIS_HOME%\lib\axis.jar;%AXIS_HOME%\lib\axis-ant.jar;%AXIS_HOME%\lib\commons-discovery-0.2.jar;%AXIS_HOME%\lib\commons-logging-1.0.4.jar;%AXIS_HOME%\lib\jaxrpc.jar;%AXIS_HOME%\lib\log4j-1.2.8.jar;%AXIS_HOME%\lib\saaj.jar;%AXIS_HOME%\lib\wsdl4j-1.5.1.jar;%AXIS_HOME%\lib\mail.jar;
  3. java org.apache.axis.wsdl.WSDL2Java -p com.tcl.esb.matplantsync SI_SRM_MatPlantSync_OB.wsdl

配置完成后双机cc.bat文件即可生成客户端程序com.tcl.esb.matplantsync。

注意:如果出现闪退情况,请运行cmd,输入java回车看java路径是否可以查看java信息,如果出现:系统找不到文件 C:\ProgramData\Oracle\Java\javapath\java.exe 解决方法:把环境变量配置path里边的java配置移到最前面。

使用方法: public static List<ZSMM_SMR_MAT_PLANT_SYNC> getMatplansync(String startDay,String endDay,String flag) throws Exception{

  1. List<ZSMM_SMR_MAT_PLANT_SYNC> result=new ArrayList<ZSMM_SMR_MAT_PLANT_SYNC>();
  2. BC_SRM_MatPlantSync_Sender_SI_SRM_MatPlantSync_OBLocator locator =new BC_SRM_MatPlantSync_Sender_SI_SRM_MatPlantSync_OBLocator();
  3. SI_SRM_MatPlantSync_OBBindingStub stub = (SI_SRM_MatPlantSync_OBBindingStub) locator.getHTTP_Port();
  4. stub.setUsername(Config.getUserName());
  5. stub.setPassword(Config.getPassWord());
  6. stub.setTimeout(Config.getTimeOut());
  7. // 次数设置true,登录后才能保持登录状态,否则第二次调用ws方法时仍然会提示未登录。
  8. stub.setMaintainSession(true);
  9. // 调用ws的方法
  10. ZFR15MM_SRM_MAT_PLANT_SYNC sync=new ZFR15MM_SRM_MAT_PLANT_SYNC();
  11. //输出
  12. ZSMM_SMR_MAT_PLANT_SYNC[] zfr={};
  13. //获取输入参数
  14. String ivFullFlag=flag;
  15. String ivBegda=startDay;
  16. String ivEndda=endDay;
  17. sync.setIV_FULL_FLAG(ivFullFlag);
  18. Date d1=new Date();
  19. Date d2=new Date();
  20. d1.setGenericDateValue(ivBegda);
  21. d2.setGenericDateValue(ivEndda);
  22. sync.setIV_BEGDA(d1);
  23. sync.setIV_ENDDA(d2);
  24. sync.setET_MAT_PLANT_INFO(zfr);
  25. //设置消息头参数
  26. ZS00_MSGHEADER msgHeader=new ZS00_MSGHEADER();
  27. msgHeader.setAPP_ID("SRM");
  28. msgHeader.setAPP_NAME("供应商管理系统");
  29. msgHeader.setSUBMITDATE(DateUtil.getTodayTime());
  30. msgHeader.setUSERID("srmadmin");
  31. msgHeader.setUSERNAME("供应商管理系统");
  32. sync.setIV_MSGHEADER(msgHeader);
  33. logger.info("获取工厂—物料数据接口请求:"+sync.toString());
  34. ZFR15MM_SRM_MAT_PLANT_SYNCResponse rsp=stub.SI_SRM_MatPlantSync_OB(sync);
  35. ZSMM_SMR_MAT_PLANT_SYNC[] zs=rsp.getET_MAT_PLANT_INFO();
  36. if(null!=zs&&zs.length>0){
  37. logger.info("条数:"+zs.length);
  38. result=Arrays.asList(zs);
  39. }
  40. return result;
  41. }
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号