互联网上面有很多的免费webService服务,我们可以调用这些免费的WebService服务,将一些其他网站的内容信息集成到我们的应用中显示,下面就以查询国内手机号码归属地为例进行说明。
首先安利一个网站,提供了很多实用的WebService服务:
http://www.webxml.com.cn/zh_cn/index.aspx
从首页可以看到很多常用的服务,这里我们选择 国内手机号码归属地查询
点击进入我们可以看到该服务提供的两个API
查看WebService的wsdl描述信息,点击服务说明
- 编写客户端访问调用WebService服务
1.新建客户端项目
2.CMD进入项目的src目录下
3. 执行wsimport -keep URL命令 ,这里的URL就是WSDL文件的URL (wsimport 是jdk下一个工具,这里不多赘述)
有三个警告,不要在意这些细节辣
4.刷新一下客户端的src目录,就可以看到生成的代码了
接下来我们就可以利用这些生成的代码来编写代码调用WebService的API了
1 package com.xxt.client; 2 3 import cn.com.webxml.MobileCodeWS; 4 import cn.com.webxml.MobileCodeWSSoap; 5 6 /** 7 * @author XXT 8 * 9 */ 10 public class Client { 11 public static void main(String[] args) { 12 //创建一个MobileCodeWS工厂 13 MobileCodeWS factory = new MobileCodeWS(); 14 15 //根据工厂创建一个MobileCodeWSSoap对象 16 MobileCodeWSSoap mobileCodeWSSoap = factory.getMobileCodeWSSoap(); 17 18 //调用WebService提供的getMobileCodeInfo方法查询手机号码的归属地 19 String Result = mobileCodeWSSoap.getMobileCodeInfo("132******65", null); 20 System.out.println(Result); 21 } 22 }
查看运行结果 (。。。我已经升级4G了好吧)
通过调用第三方的WebService可以极大的方便我们扩展功能。一些非Java (例如.net)编写的WebService调用起来需要多一步处理,网上也有很多这样的教程,大家可以去查一下。原文链接:http://www.cnblogs.com/xdp-gacl/p/4260627.html,
同时非常感谢原文作者的分享。。