zoukankan      html  css  js  c++  java
  • 利用axis生成webservice代码

    利用axis的命令生成代码的网上一大片

    但是有些人 就是觉得配置太麻烦了 懒得去配置 直接用代码生成代码多方便

    利用axis1.4去生成 下载axis1.4 解压搜索所有的jar  在eclipse建一个java工程 jar加入构建目录

    新建类

    import org.apache.axis.wsdl.WSDL2Java;


    public class TestGen {

     public static void main(String[] args) {
       WSDL2Java.main(new String[] { "-p",
       "cn.net.tc.yjj.core.datajjyj",
       "http://192.168.3.52:88/InfoUploadService.asmx?wsdl"
       });
         
     }

    }

    会在当前工程下新建一个cn.net.tc.yjj.core.datajjyj 目录 下面就是生成的代码

    利用axis2去生成 下载axis2 解压搜索所有的jar  在eclipse建一个java工程 jar加入构建目录

    新建类

    import org.apache.axis2.wsdl.WSDL2Java;


    public class TestGen {

     public static void main(String[] args) throws Exception {
      // TODO Auto-generated method stub
       WSDL2Java.main(new String[] {"-uri","http://192.168.3.52:88/InfoUploadService.asmx?wsdl", "-p",
       "cn.net.tc.yjj.core.datajjyj1",
      
       });
         
     }

    }

    实际上 代码上运行也是相当于 在命令行运行 没有命令那么麻烦 配置的东西多 又容易报错

    在命令行运行 axis2 就是 java WSDL2Java -uri http://192.168.3.52:88/InfoUploadService.asmx?wsdl -p cn.net.tc.yjj.core.datajjyj1

    java命令实际就是调用的 WSDL2Java的主方法 其他的都是参数

    运行即可

    1.4是http1.0的才能生成 http1.1必须使用axis2生成

    axis生成后就两个类  其中stub那个类 才是运行的类

    axis2调用类似如下:

    SyncDataDao d = new SyncDataDaoImpl();
      InfoUploadServiceStub stub=new InfoUploadServiceStub();
      //登录获取token
      AuthenticateUser user=new AuthenticateUser();
      SecuredWebServiceHeaderE dd=new SecuredWebServiceHeaderE();
      dd.setSecuredWebServiceHeader(new SecuredWebServiceHeader());
      dd.getSecuredWebServiceHeader().setUsername(PropertiesUtil.getPropertyEntity().getData_userid());
      dd.getSecuredWebServiceHeader().setPassword(PropertiesUtil.getPropertyEntity().getData_password());
      AuthenticateUserResponse response=stub.authenticateUser(user, dd);
      String token=response.getAuthenticateUserResult();
      System.out.println(token);
      //获取品种信息
      GetCommodities gg=new GetCommodities();
      dd.getSecuredWebServiceHeader().setAuthenticatedToken(token);
      GetCommoditiesResponse res=stub.getCommodities(gg, dd);
         ArrayOfCommodity array= res.getGetCommoditiesResult();
         Commodity[] cd=array.getCommodity();
         //插入品种数据到数据库
         d.insertCommodityToDb(cd);
         for(Commodity cc:cd){
          System.out.println("获取品种信息_"+cc.getCommodityID()+"-"+cc.getTradeName());
         }
      
         //获取企业信息
         GetAllMembers m=new GetAllMembers();
         GetAllMembersResponse members= stub.getAllMembers(m, dd);
         Members[] mem=members.getGetAllMembersResult().getMembers();
         for(Members cc:mem){
          System.out.println("获取企业信息_"+cc.getMemberID()+"-"+cc.getName());
         }
       //插入企业数据到数据库
         d.insertPublicMemberToDb(mem);
        
         GetComMember commem=new GetComMember();
         //获取企业品种经营关系
         GetComMemberResponse comRes=stub.getComMember(commem, dd);
         ComMember[] cm=comRes.getGetComMemberResult().getComMember();
         d.inserComMemberToDb(cm);
         for(ComMember cc:cm){
          System.out.println("获取企业品种经营关系_"+cc.getMemberID()+"-"+cc.getCommodityID());
         }
         //获取用户母印信息
         GetUser gUser=new GetUser();
         GetUserResponse userRes=stub.getUser(gUser, dd);
         User[] us=userRes.getGetUserResult().getUser();
         d.inserEntCertToDb(us);
         for(User cc:us){
          System.out.println("获取用户母印信息_"+cc.getMemberID()+"-"+cc.getKeyString1());
         }

    axis会生成很多个文件 其中 PortType文件就是接口文件

    使用locator类去获取这个接口的实例

    IntentSendProductLocator l = new IntentSendProductLocator();
          IntentSendProductSoap_PortType ps = l
            .getIntentSendProductSoap();

    然后就可以调用方法了

  • 相关阅读:
    hdu 2196 树形dp
    codeforces 1A
    [日常摸鱼]bzoj1218[HNOI2003]激光炸弹-二维前缀
    [日常摸鱼]bzoj2724蒲公英-分块
    [日常摸鱼]关于离散化
    [OI笔记]后缀自动机
    [日常摸鱼]poj1509Glass Beads-SAM
    [日常摸鱼]bzoj1083[SCOI2005]繁忙的都市-最小生成树
    [日常摸鱼]bzoj2038[2009国家集训队]小Z的袜子-莫队算法
    [日常摸鱼]三分法
  • 原文地址:https://www.cnblogs.com/liaomin416100569/p/9331446.html
Copyright © 2011-2022 走看看