通过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文件等)如下:

set AXIS_HOME=D:\Axis2\axis1.4\axis-1_4
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;
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{

    
    List<ZSMM_SMR_MAT_PLANT_SYNC> result=new ArrayList<ZSMM_SMR_MAT_PLANT_SYNC>();
        BC_SRM_MatPlantSync_Sender_SI_SRM_MatPlantSync_OBLocator locator =new BC_SRM_MatPlantSync_Sender_SI_SRM_MatPlantSync_OBLocator();
        SI_SRM_MatPlantSync_OBBindingStub stub = (SI_SRM_MatPlantSync_OBBindingStub) locator.getHTTP_Port();
        stub.setUsername(Config.getUserName());
        stub.setPassword(Config.getPassWord());
        stub.setTimeout(Config.getTimeOut());
        // 次数设置true,登录后才能保持登录状态,否则第二次调用ws方法时仍然会提示未登录。
        stub.setMaintainSession(true);
        // 调用ws的方法
        ZFR15MM_SRM_MAT_PLANT_SYNC sync=new ZFR15MM_SRM_MAT_PLANT_SYNC();
        //输出
        ZSMM_SMR_MAT_PLANT_SYNC[] zfr={};
        //获取输入参数
        String ivFullFlag=flag;
        String ivBegda=startDay;
        String ivEndda=endDay;

        
        sync.setIV_FULL_FLAG(ivFullFlag);
        Date d1=new Date();
        Date d2=new Date();
        d1.setGenericDateValue(ivBegda);
        d2.setGenericDateValue(ivEndda);
        sync.setIV_BEGDA(d1);
        sync.setIV_ENDDA(d2);

        
        sync.setET_MAT_PLANT_INFO(zfr);
        //设置消息头参数
        ZS00_MSGHEADER msgHeader=new ZS00_MSGHEADER();
        msgHeader.setAPP_ID("SRM");
        msgHeader.setAPP_NAME("供应商管理系统");
        msgHeader.setSUBMITDATE(DateUtil.getTodayTime());
        msgHeader.setUSERID("srmadmin");
        msgHeader.setUSERNAME("供应商管理系统");

        
        sync.setIV_MSGHEADER(msgHeader);

        
        logger.info("获取工厂—物料数据接口请求:"+sync.toString());
        ZFR15MM_SRM_MAT_PLANT_SYNCResponse rsp=stub.SI_SRM_MatPlantSync_OB(sync);
        ZSMM_SMR_MAT_PLANT_SYNC[] zs=rsp.getET_MAT_PLANT_INFO();
        if(null!=zs&&zs.length>0){
            logger.info("条数:"+zs.length);
            result=Arrays.asList(zs);
        }
    return result;
}
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号