webservice
目录
引入
第一步:下载CXF支持
第二步:创建java普通工程
第三步:测试类
解释
总结:
访问一个网上的web service的步骤:
参考:
引入
当你写着代码,喝着茶,突然想知道自己QQ是否在线怎么办呢?身为程序员的我们自然要与众不同。通过腾讯发布的web service服务,我们可以很方便的获取自己的QQ状态,甚至是你暗恋多年的那个她/他。。。。。
下面一起来玩吧~
第一步:下载CXF支持
访问http://cxf.apache.org/download.html。可以根据需要下载需要的版本。
将下载的文件解压。找到\apache-cxf-2.7.7\bin下。对于Win10按住shift+右键。打开power shell,输入start cmd这样就可以在该目录下打开cmd。
输入:wsdl2java http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl 回车
执行成功后你会在目录下发现新生成的文件夹。
这样我们的第一步就结束了。点进去看一下,这不就是java文件吗?但是里面的程序又有些奇怪。这个以后再说。
第二步:创建java普通工程
这个没什么要注意的。
只是创建完工程后,要添加cxf文件夹下lib目录的jar包。
建议先创建一个user library。毕竟jar包有点多。
第三步:测试类
终于到最后了。TT
还记得之前生成的文件夹吗。只需要把那个文件夹copy到src下即可。
之后还需要有一个测试类。
package cn.com.webxml;
import org.apache.cxf.interceptor.StaxInEndingInterceptor;
public class Test {
public static void main(String[] args) {
//返回数据:String,Y = 在线;N = 离线;E = QQ号码错误;A = 商业用户验证失败;V = 免费用户超过数量
String qqCode = "***********"; //一个QQ号
QqOnlineWebService qWebService = new QqOnlineWebService();
//使用soap协议
QqOnlineWebServiceSoap qqOnlineWebServiceSoap = qWebService.getQqOnlineWebServiceSoap();
String res = qqOnlineWebServiceSoap.qqCheckOnline(qqCode);
System.out.println(res);
}
}
最后运行一下,就可可以看到结果了。
解释
例子说完了,但是诸位或许仍旧一脸懵*。下面我们就详细的了解一下这个过程。
之前我们在cxf下的bin目录中打开了cmd,并输入了wsdl2java http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl。
wsdl2java 这个命令可以将后面的web service转换成我们需要的客户端代码。p.s. wsdl是一种基于xml的网络服务描述语言。
如果你在浏览器中打开着个网址。你会发现这个xml中的包含以下部分:type、message、typeport、binding
在测试类中我们先实例化了QqOnlineWebService 。这个类其实是通过wsdl中服务访问点的集合名生成的。当我们使用一个web service时需要先实例化这个访问点类。
QqOnlineWebService qWebService = new QqOnlineWebService();
通过其下的get+port名我们可以实例化需要的服务。也就是程序中的
QqOnlineWebServiceSoap qqOnlineWebServiceSoap = qWebService.getQqOnlineWebServiceSoap();
最后调用需要的方法即可。
String res = qqOnlineWebServiceSoap.qqCheckOnline(qqCode);
总结:
访问一个网上的web service的步骤:
- 实例化访问点类(可以先打开网址,查看wsdl)
- 获取需要的服务对象。
- 访问服务提供的方法。
- 对结果进行处理。
参考:
常用免费的WebService列表 https://blog.csdn.net/posonrick/article/details/45482761
菜鸟上的wsdl讲解 http://www.runoob.com/wsdl/wsdl-ports.html
ryxxlong的wsdl讲解 http://ryxxlong.iteye.com/blog/1505366
相关阅读
本文转载:WebService,顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求,接下来通过本文给大家介绍Web
本周工作日即将结束,下周项目经理安排了一项任务可能需要使用到webservice,但本人之前尚未使用过,网上查了一些案例看了看 在此小记
Web项目通过webservice编写一个接口,部署在远程服务器
在我的上一片文章中,我在本地新建了一个普通的类来编写WebService,使用终端类 Endpoint 发布这个WebService,以此来实现让其他类调用
Web service框架CXF最新版本:2.2.2开源服务框架,可以通过API,如JAX-WS,构建和开发服务。服务可以使多种协议的,例如SOAP, XML/HTTP, RE
WebService WebService简介 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就