axis2客户端的几种调用方式

(1)使用RPC方式调用WebService

        //  使用RPC方式调用WebService          
        RPCServiceClient serviceClient = new RPCServiceClient();  
        Options options = serviceClient.getOptions();  
        //  指定调用WebService的URL  
        EndpointReference targetEPR = new EndpointReference("http://localhost:8085/axisDemo/services/Calculate?wsdl");  
        options.setTo(targetEPR);  
        //  指定add方法的参数值  
        Object[] opAddEntryArgs = new Object[] {1,2};  
        //  指定Integer方法返回值的数据类型的Class对象  
        Class[] classes = new Class[] {Integer.class};  
        //  指定要调用的add方法及WSDL文件的命名空间  
        QName opAddEntry = new QName("http://test.com", "add");  
        /**
         * 调用add方法并输出该方法的返回值 
         *  invokeBlocking方法有三个参数,其中第一个参数的类型是QName对象,
         *  表示要调用的方法名;第二个参数表示要调用的WebService方法的参数值,
         *   参数类型为Object[];  第三个参数表示WebService方法的返回值类型的Class对象,
         *   参数类型为Class[],当方法没有参数时,invokeBlocking方法的第二个参数值不能是null,
         *   而要使用new Object[]{}
         */
        int result=(Integer) serviceClient.invokeBlocking(opAddEntry, opAddEntryArgs, classes)[0];
       //如果被调用的WebService方法没有返回值,应使用RPCServiceClient类的invokeRobust方法,
        //该方法只有两个参数,它们的含义与invokeBlocking方法的前两个参数的含义相同
        // serviceClient.invokeRobust(opName, opAddEntryArgs);
        System.out.println(result);  

 

(2)用wsdl2java命令的方式生成代码

wsdl2java -uri http://localhost:8085/axisDemo/services/Calculate?wsdl -p client -s -o stub

其中-uri参数指定了wsdl文件的路径
  -p参数指定了生成的Java类的包名,

-o参数指定了生成的一系列文件保存的根目录。

转载于:https://www.cnblogs.com/wuweidu/p/4567781.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值