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目录下):
  Axis1.4 调用 Asp.Net 服务简单示例

  需要引用的类:
    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         }

 

  

  

你可能感兴趣的:(asp.net)