Axis1.4 调用 Asp.Net 服务简单示例

  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         }

 

  

  

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。