WebService介绍及演示:(手机号归属地查询+QQ号是否在线查询)
1,WebService是基于SOAP协议的, SOAP:Simple Object Access Protocal简单对象访问协议。 SOAP是通过HTTP的POST方式发送XML格式文档的协议。 2,WebService其实就是一个程序,它可以实现本地的程序访问远程主机服务器上的一个方法,可以实现远程方法调用。而且可以实现跨平台,跨语言。比如,在北京的一个程序要调用上海服务器上的一个程序的方法,而且不管这个远程方法是用什么语言写的,只要远程服务器提供WebService服务,就可以实现调用。 3,演示: (1)手机归属地查询: 提供手机归属地查询的公司一般是移动或电信公司。提供的这些服务是免费的。我们可以在我们的应用程序中调用这些服务,我们只需要在我们的程序中调用运营商提供的方法即可。 在微软的网站上提供了这样的服务接口。 登录www.webxml.com.cn: 在右面有最新webservice,这里面就是提供的免费的服务端口: 打开more,在里面点击国内手机号码归属地查询web服务: 这里有Endpoint和WSDL等, Endpoint是给用户使用的,在里面提供了查询手机信息的接口。 WSDL是给程序员看的,里面是XML文档,使用这个页面的URL就可以生成我们程序所需要的java类文件。 打开Endpoint,可以使用查询功能: 我们选择getMobileCodeInfo查询详细信息: 在mobileCode中输入手机号,userID是收费使用的,我们不用填(如果在程序中,调用这个方法,userID要传””而不是null)。 点击调用可以看到如下信息: 打开WSDL,可以看到XML文档: 使用这个XML文档生成Java代码,应用在我们的程序中: 需要使用JDK提供的命令:wsimport,在命令行直接输入wsimport,可以获得帮助信息。 在本地硬盘中新建一个文件夹,比如在e盘新建wstest文件夹: 在命令行进入这个目录: 根据URL网址输入命令: wsimport –s . http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl -s是生成java源文件和class字节码,后面的点是在当前目录下生成,后面再将提供XML文档的URL地址粘贴进去。回车,解析生成文件。 默认根据网站url生成路径文件夹。Cn.com.webxml 将里面的.class文件全部删除,将java文件复制到项目中。 建立测试文件WsDemo.java。 public class WsDemo { public static void main(String[] args) { MobileCodeWSSoap m = new MobileCodeWS().getMobileCodeWSSoap(); String ss = m.getMobileCodeInfo("18702238091",""); m.getDatabaseInfo(); System.err.println("sfasfdadfa"); System.err.println("手机号是:"+ss); } } 编码问题: 默认情况下,提示中是没有中文解释的: 这里应该使用GBK编码。将这个工程设置成GBK编码: 工程右键àpropertiesàResource,将text file encoding的other中设置为GBK。然后可以看到: 运行这个main,就可以在控制台看到对应的信息(需要连网)。 ? (2)QQ号是否在线与这个过程类似。 在使用wsimport命令时,指定建立的目录结构(包路径):通过-p参数指定。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |