必威体育Betway必威体育官网
当前位置:首页 > IT技术

访问webservice服务

时间:2019-08-23 23:10:00来源:IT技术作者:seo实验室小编阅读:79次「手机版」
 

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详细教程

本文转载:WebService,顾名思义就是基于Web的服务。它使用Web(HTTP)方式,接收和响应外部系统的某种请求,接下来通过本文给大家介绍Web

WebService简单案例实例

本周工作日即将结束,下周项目经理安排了一项任务可能需要使用到webservice,但本人之前尚未使用过,网上查了一些案例看了看 在此小记

Web项目通过webservice编写一个接口,部署在远程服务器

在我的上一片文章中,我在本地新建了一个普通的类来编写WebService,使用终端类 Endpoint 发布这个WebService,以此来实现让其他类调用

主流WebService框架

Web service框架CXF最新版本:2.2.2开源服务框架,可以通过API,如JAX-WS,构建和开发服务。服务可以使多种协议的,例如SOAP, XML/HTTP, RE

WebService技术详解 (一)

WebService WebService简介 Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就

分享到:

栏目导航

推荐阅读

热门阅读