1.依赖架包:
axis.jar、
jaxrpc.jar、
commons-logging-1.0.4.jar、
commons-discovery-0.2.jar、
wsdl4j-1.5.1.jar
代码实现
调用
getData(new Date(),"http://url?wsdl",userSerive)
具体实现
public String getData(String date,String iurl,String method){
org.apache.axis.client.Service service = new org.apache.axis.client.Service();
String result=null;
String jsonResultString=null;
try {
Call call = (Call) service.createCall();
// 远程调用路径
call.setTargetEndpointAddress(iurl);
// 调用的方法名
call.setOperationName(new QName("http://service.axis.com",method));
// 传参
call.addParameter( new QName("http://service.axis.com","date")//参数名,
org.apache.axis.encoding.XMLType.XSD_STRING // 参数类型: String, javax.xml.rpc.ParameterMode.IN// 参数模式:'IN' or 'OUT');
// 设置返回值类型:
call.setReturnType(XMLType.XSD_STRING);// 返回值类型:String
call.setUseSOAPAction(true);
call.setSOAPActionURI("http://service.axis.com"+method);
// 远程调用
result = (String) call.invoke(new Object[]{date});
int length=result.length();
jsonResultString=result.substring();//拿到结果中的json格式的字符串
System.out.println(result);
} catch (RemoteException e) {
e.printStackTrace();
} catch (ServiceException e) {
e.printStackTrace();
}
return jsonResultString;
}
```