axis全称Apache EXtensible Interaction System.版本很多,axis1.x版本最终版是 1.4,之后就到了axis2.x;由于2.x 版本与 1.x版本使用起来的差异比较大(当然2.x版本相对来说会高效很多)。
这里以访问QQ号码状态为例,webservice地址:http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl ,在浏览器中访问可看到相关的请求头信息、函数名称、参数等。
Java项目中需要用到的Jar包(放在lib目录下):
需要引用的类:
import javax.xml.namespace.QName;
import javax.xml.rpc.ServiceException;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
最后是调用代码:
1 try { 2 3 String endpoint = "http://webservice.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl"; 4 5 //创建一个服务(service)调用(call) 6 Service service = new Service(); 7 Call call = (Call) service.createCall(); 8 9 //设置service所在的url 10 call.setTargetEndpointAddress(new java.net.URL(endpoint)); 11 12 //接口函数 13 call.setOperationName(new QName("http://WebXml.com.cn/","qqCheckOnline")); 14 call.setSOAPActionURI("http://WebXml.com.cn/qqCheckOnline"); 15 16 //接口的参数 17 call.addParameter(new QName("http://WebXml.com.cn/","qqCode"), org.apache.axis.encoding.XMLType.XSD_STRING,javax.xml.rpc.ParameterMode.IN); 18 19 //设置返回类型 20 call.setReturnType(org.apache.axis.encoding.XMLType.XSD_STRING); 21 22 String ret = (String)call.invoke(new Object[]{"997717740"}); 23 24 System.out.println("状态:"+ret); 25 26 } 27 28 catch(Exception e) { 29 BeanCtx.p(e.toString()); 30 }
时间: 2024-10-31 10:50:25