JAVA之WebService框架---Xfire全解
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Java WebService框架之XFire使用说明
声明:此文档只为做学习交流用,如果你有任何异议或更好的想法,欢迎你在群里讨论或者与我讨论!希望能够帮到你!
WebService这个字眼,或许大家听起来,并不陌生,一般做过几年开发经验的程序员,几乎都跟它打过交道,首先,我要说明的是,WebService并不是java的特权,也就是说,并不是java只有WebService,.net有,C#有。。。等等
不罗嗦,首先我得让大家知道,WebService是干嘛用的,从字面意思理解就是web服务,其实,说白了,Web Services就是发布的、完成其特定需求的、在线应用服务。其他公司或应用软件能够通过Internet来访问并使用这项在线服务。WebService的主要目标是跨平台的可互操作性。他独立于平台、独立于软件供应商的标准,是创建可互操作的、分布式应用程序的新平台。(相关详细解释,大家可以百度的文库)
我举个例子,或许大家就明白了,我举个它的应用,
比如说,现在有这么一个需求:
WebService应用案例一:张三传递给李四某个城市的名字比如说北京,李四反馈给张三北京的天气预报为:晴,王五传递给李四的城市名字济南,李四反馈给王五济南的天气预报为:阴;赵六传递给李四武汉。。。。。。。。等等。。。。但是,无论是谁想给李四传递城市的名字,必须遵循李四开放出来的一个发送地址,要不然你找不到李四,李四也收不到你的请求城市。
那么,在该示例中,无非就是想实现的一个功能就是,任何人传递给李四一个城市的相关名字,李四反馈给请求者该城市的天气情况,前提是,按照李四公布给大家的发送地址,那么,所有向李四发送请求城市的人,都会收到李四反馈的请求的城市的天气情况,那么这就是一个典型的webservice的调用,它与平台无关,跟每一个系统都无关,是独立的在线服务,那么,在此例中,每一个向李四发送请求的人,都是客户端,而李四所实现的接受城市,反馈回天气预报的功能,就是webservice的服务断,而李四提供的发送地址,就是大名鼎鼎的访问Webservice得到WSDL地址
再给大家举一个例子:
WebService应用案例二:有两套系统,A系统为用。Net语言开发的,B系统用java语言开发的,现在有一个需求,就是要实现A系统跟B系统之间的信息交互,那么此时,A系统,可以写一个。Net的webService,之后,公布给B系统webservice的访问地址,那么B系统就可以访问A系统,而A系统如果想访问B系统的数据,那么B系统可以写一个java 的webService,把地址告知给A系统,A系统就可以访问B系统的数据。
可能有的人会有疑问,貌似。。当前不同系统间交互数据都用XML么?如果你能想到这,恭喜你,你已经跟设计webservice的人的想法一样了,呵呵。。因为它的描述WSDL就是xml
其实一般说到webservice,就是开发它的服务端,客户端,基本上没什么技术含量,按照某种格式调用就OK。
长篇大论了一番,我想,大家应该对WebService有个了解了,那么下面进入正题,Java 的WebService框架,比较常用的有:Axis,XFire ,Cfx等,呵呵,因为之前搞过Axis,繁琐的配置,说实话真的不能让我爱上它,当我遇到XFire的时候,我才发现,原来,它可以让WebService如此简单,核心只需一个xml配置文件就全部搞定,因此我强烈推荐XFire,如果你是初学者,我更加强烈推荐
XFire是一款开源的Java SOAP框架。它拥有一个轻量级的信息处理模块,通过STAX来与SOAP信息相结合,支持POJO和schema开发. XFire支持Web Services standards,Spring 整合,下面就以此为例,先讲解借助Myeclipse的自动生成来介绍,当然你也可以手工去写。下面通过一个简单的示例来讲解Xfire的使用。
首先说一下我的开发环境配置:
Myeclipse6.5 + jdk1.5 + tomcat6.0
步骤1:选择File----New----WebService Project,创建项目如图:
步骤2:输入项目的名字,Test_WebService(可以随意起),如图:
步骤3:点击Next,进入如下界面,在此操作界面中,走默认即可,
.
其中
是Xfire的核心过滤器,用于拦截/services/*的请求,后面会详细说明,保持默认,点next
步骤4:你将会看到这个窗口,这是让你选择Xfire的核心jar包,如图:
其中,为Xfire的和核心类库,为必选,如果你开发的这个webservice用于本项目中的话,那你还需勾选
,当然,如果你仅仅是开发一个独立的WebService的话,那就没必要勾选
了。在这咱开发一个独立的WebService,供任何一个项目可以调用它,只勾选第一项,点击Finish。
步骤5:至此,WebService的整体骨架已经创建完毕了。看一下左侧项目栏中,我们刚创建的该WebService的结构如图:
一次点开项目的层级文件夹,你会发现比普通的项目多了,点开
services.xml你会发现,什么都没有,这就对了,services.xml就是注册你的webservice方法用的,点开web.xml你发现多了这么几行代码:
这就是上面我提到的,Xfire的核心过滤器,上面走了默认,所以,这里看到的东西,就是跟上面你走默认的一样,如果你改了默认的信息的话,那么此处就为你更改了的信息了,当然,我还是建议大家走默认。
步骤6:既然万事具备了,那么,咱们现在就开发一个WebSERVICE的服务类,在这,MyEclipse已经给提供了快捷的创建方式,爱死它了。。。
你可以在项目名字Test_WebService上右击选择: