1.使用RPC方式访问WebService
1. 首先创建一个工程 axis2
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
根据这里的namespace进行填写
运行之后结果