zoukankan      html  css  js  c++  java
  • 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参数指定了生成的一系列文件保存的根目录。

  • 相关阅读:
    cordova windows环境配置
    javascript 变量声明 和 作用域
    javascript 数组总结
    处理事件的兼容写法
    javascript 闭包
    事件委托和事件绑定
    依赖注入
    .Net委托
    sql游标循环结果集
    T-Sql之集合
  • 原文地址:https://www.cnblogs.com/wuweidu/p/4567781.html
Copyright © 2011-2022 走看看