- 应用rpc的方式调用 这种方式就等于远程调用,
- 即通过url定位告诉远程服务器,告知方法名称,参数等, 调用远程服务,得到结果。
- 使用 org.apache.axis2.rpc.client.RPCServiceClient类调用WebService
serviceClient.invokeBlocking(opQName, opArgs,opReturnType)
opQName:调用远程的方法名
opArgs:方法名的参数,new Object[]{ }
opReturnType:返回类型
opReturnType 一般返回xml格式,对xml格式再进行解析
http://harveyzeng.iteye.com/blog/1849720
=================================================================================
调用webservices一般有两种方法,除了axis2外,还有soap方法,用的是
org.apache.soap.rpc.Call 这个类
params.addElement(new Parameter("ifUser", String.class, USERNAME,null));
params.addElement(new Parameter("ifPass", String.class, PSW, null));
params.addElement(new Parameter("ifCode", String.class, modulName,null));
params.addElement(new Parameter("ifEvent", String.class, "", null));
params.addElement(new Parameter("info", String.class, xmlStr,null));
call.setParams(params);
call.setMethodName(strFunction);
Response resp;
try {
resp = call.invoke(url, strSoapAction);
} catch (SOAPException e) {
throw new Exception("调用接口出错!URL=" + strUrl + "\n"
+ e.getMessage());
}
params.addElement(new Parameter("ifPass", String.class, PSW, null));
params.addElement(new Parameter("ifCode", String.class, modulName,null));
params.addElement(new Parameter("ifEvent", String.class, "", null));
params.addElement(new Parameter("info", String.class, xmlStr,null));
call.setParams(params);
call.setMethodName(strFunction);
Response resp;
try {
resp = call.invoke(url, strSoapAction);
} catch (SOAPException e) {
throw new Exception("调用接口出错!URL=" + strUrl + "\n"
+ e.getMessage());
}