1.使用RPC方式访问WebService

1. 首先创建一个工程 axis2

wKioL1UAAVqgBsChAABczbVil28735.jpg

2.创建访问WEBSERVICE 的类

package client;

 

import javax.xml.namespace.QName;

import org.apache.axis2.addressing.EndpointReference;

import org.apache.axis2.client.Options;

import org.apache.axis2.rpc.client.RPCServiceClient;

 

publicclassRPCclient {

   publicstatic String call(String URL,String namespace,String method,Object[] args,Class[] types) throws Exception{

          RPCServiceClient client = null;

          client = new RPCServiceClient();

          Options options = client.getOptions();

          // 创建一个远程的访问地址 

          EndpointReference target = new EndpointReference(URL);

          options.setTo(target);

          //设置namespace与方法名

          QName qname = new QName(namespace,method);

          Object[] response =client.invokeBlocking(qname, args, types);

          //获取响应的结果

          String result = (String) response[0];

          return result;

    }

    publicstaticvoid main(String[] args) {

       try{

           Stringurl = "http://localhost:8080/axis2/services/FirstService";

              //请求方法的参数值

           Object[]objargs = newObject[] {"Lily"};

             //请求方法的返回值类型

           Class[]classType = newClass[] { String.class};

             //namespace

           Stringnamespace = "http://ws.apache.org/axis2";

             //访问的WEBSERVICE方法名

           Stringmethod = "sayToYou";

           System.out.println(call(url,namespace,method,objargs,classType));

       }catch (Exception e){

           e.printStackTrace();

       }

    }

}

 

 

这里namespace 如果不知道的话可以直接访问

http://localhost:8080/axis2/services/FirstService?wsdl

wKioL1UAAXXiTKCOAAKPEqvCTyg570.jpg

根据这里的namespace进行填写

运行之后结果

wKiom1UAAHzS8_BmAACqnydRZjk724.jpg