webservice 的发布和三种客户端模式.docVIP

  • 8
  • 0
  • 约2.38千字
  • 约 13页
  • 2017-10-06 发布于重庆
  • 举报
webservice 的发布和三种客户端模式

WebService的三种客户端模式 作者:杜航航 目录 引言 2 1 WebService的发布 2 2 WebService客户端的三种模式 3 2.1开发者拥有Webservice的java接口类 3 2.2动态模式 4 2.3 通过WSDL生成客户端 4 引言 WebService的重要性不言而喻,在实际的开发中是经常要遇到的。如果WebService的服务端和客户端都是一个人或者一个Team开发,那么客户端的开发相对简单,因为完全可以共享web服务的java接口,但是假如客户只给你一个WebService的地址,要你去调用客户公布的WebService地址,那么WebService客户端的编写则相对比较困难,这里总结了三种不同模式和情况下WebService客户端代码的编写。 网上有很多公共的WebService服务,推荐一个网站:/zh_cn/web_services.aspx,提供了20多个常见WebService服务,例如查询手机号码归属地,查询天气预报,在线翻译等功能。 1 WebService的发布 为了说明问题,我这里首先介绍一下如何发布一个WebService。该WebService的功能是加法计算,也就是输入两个整数,输出这两个整数的和。 接口的java类 加法的实现类(也就是实际的WebService服务的提供者) services.xml web.xml 以上就是WebService服务器端的所有代码。由于比较简单,这里不做详细解释。准备就绪之后,将WebService工程发布在应用服务下,例如发布在tomcat之下。发布成功之后,可以打开浏览器查看服务内容。在浏览器输入wsdl的地址,例如:http://localhost:8080/TestXfire/services/Add?wsdl WSDL的内容如下,wsdl详细描述了接口的所有信息,有研究的话可以仔细看下。这里不做详细解释。 以上就是成功发布了一个webservice的服务。 2 WebService客户端的三种模式 2.1开发者拥有Webservice的java接口类 很多情况下,WebService的服务提供端和客户端的开发者是一个人或者一个Team,这种情况下,客户端开发者就拥有Webservice发布的java接口类,这种客户端的开发相对比较简单。 客户端代码如下: 这种模式实例化一个接口的java类,然后就可以通过调用java的接口类来实现远程调用WebService服务。这种模式的前提是客户端开发者必须有接口的java类。 2.2动态模式 这种模式客户端不需要服务端的接口java类,但是调用复杂类型的参数的情况下使用起来比较困难。 客户端代码如下: 这种模式生成一个动态的客户端,通过指定需要调用的java接口的方法和传递参数来实现对接口中具体方法的调用。对于比较复杂的接口或者参数数据类型复杂的服务来说,使用起来相对比较复杂。 2.3 通过WSDL生成客户端 在实际的开发中还会经常遇到一种情况,客户也许只告诉你一个WebService的地址,让你自己来调用WebService服务,并没有给你服务端的接口类,并且接口相对复杂,这种情况下很可能要自己去仔细研究wsdl的详细内容,自己编写接口java类,对于复杂的接口,工作量的很大的,并且容易出错,好的办法是自己借助于工具自动生成接口代码和客户端代码。 我这里使用网上一个公共的WebService服务,查询手机号码归属地。 wsdl的地址是:/WebServices/MobileCodeWS.asmx?wsdl 具体内容如下:的务端Service开浏览器查看服务内容。我里里 (1)打开myeclipse8.6。(我这里使用的myeclipse8.6) (2)新建一个WebService工程,工程名TestXfireClient,framework选择xfire (3)默认 (4)选择Xfire core lib和client lib,然后点击Finish (5)在src下新建一个package,便于代码管理,例如package名称自己根据习惯自己取 (6)新建-Other-webService- web Service Client (7)选择刚才的Webservice工程,framework选择xfire (8)填写wsdl的地址,例如这里选择的是/WebServices/MobileCodeWS.asmx?wsdl,java package选择刚才新建的package (

文档评论(0)

1亿VIP精品文档

相关文档