需要导的包:
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
实现代码:
try{
//调用webservice服务的地址,调用之前可以先用浏览器访问下,看是否能够正常访问
String url = "http://172.103.106.75:8080/caxic/services/InteractiveULService?wsdl";
//调用的方法名
String method = "getDelFileByTpm";
Service service = new Service();
//通过service创建call对象
Call call = (Call)service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url));
//设置调用方法
call.setOperationName(method);
call.setUseSOAPAction(true);
//添加方法的参数,需要几个添加几个,
//例:resultString:参数名 XSD_STRING:参数类型 IN:代表传入
call.addParameter("resultString", org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN);
//设置返回类型
call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING);
Object ret= null;
try{
//使用invoke方法
ret = call.invoke(new Object[]{resultString});
}catch(Exception e){
e.printStackTrace();
}
//输出SOAP请求报文
System.out.println("--SOAP Request: " + call.getMessageContext().getRequestMessage().getSOAPPartAsString());
//输出SOAP返回报文
System.out.println("--SOAP Response: " + call.getResponseMessage().getSOAPPartAsString());
//输出返回信息
System.out.println("result==="+ret.toString());
}catch(Exception e){
e.printStackTrace();
}