通過(guò)wsdl文件生成java客戶(hù)端及簡(jiǎn)單調(diào)用

2018-12-14 16:00 更新

首先:下載安裝axis1.4 下載地址(http://download.csdn.net/download/u011255725/9911612) 環(huán)境路徑配置:classpath:D:\Axis2\axis1.4\axis-1_4\lib. axis1.4文件目錄結(jié)構(gòu) 在cc.bat中配置相關(guān)的生成規(guī)則(包括生成客戶(hù)端的文件需要的關(guān)鍵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

配置完成后雙機(jī)cc.bat文件即可生成客戶(hù)端程序com.tcl.esb.matplantsync。

注意:如果出現(xiàn)閃退情況,請(qǐng)運(yùn)行cmd,輸入java回車(chē)看java路徑是否可以查看java信息,如果出現(xiàn):系統(tǒng)找不到文件 C:\ProgramData\Oracle\Java\javapath\java.exe 解決方法:把環(huán)境變量配置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. // 次數(shù)設(shè)置true,登錄后才能保持登錄狀態(tài),否則第二次調(diào)用ws方法時(shí)仍然會(huì)提示未登錄。
  8. stub.setMaintainSession(true);
  9. // 調(diào)用ws的方法
  10. ZFR15MM_SRM_MAT_PLANT_SYNC sync=new ZFR15MM_SRM_MAT_PLANT_SYNC();
  11. //輸出
  12. ZSMM_SMR_MAT_PLANT_SYNC[] zfr={};
  13. //獲取輸入?yún)?shù)
  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. //設(shè)置消息頭參數(shù)
  26. ZS00_MSGHEADER msgHeader=new ZS00_MSGHEADER();
  27. msgHeader.setAPP_ID("SRM");
  28. msgHeader.setAPP_NAME("供應(yīng)商管理系統(tǒng)");
  29. msgHeader.setSUBMITDATE(DateUtil.getTodayTime());
  30. msgHeader.setUSERID("srmadmin");
  31. msgHeader.setUSERNAME("供應(yīng)商管理系統(tǒng)");
  32. sync.setIV_MSGHEADER(msgHeader);
  33. logger.info("獲取工廠—物料數(shù)據(jù)接口請(qǐng)求:"+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("條數(shù):"+zs.length);
  38. result=Arrays.asList(zs);
  39. }
  40. return result;
  41. }
以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)