客户端(axis方法实现)调用webservice

需要导的包:

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();
}  

猜你喜欢

转载自blog.csdn.net/pcwl1206/article/details/80993701