2024年5月29日发(作者:)
使用XFire开发webservice服务和客户端全攻略 收藏
XFire 是与Axis 2并列的新一代Web Service框架,通过提供简单的API支持Web Service
各项标准协议,帮助你方便快速地开发Web Service应用。
相对于Axis来说,目前XFire相对受欢迎,加上其提供了和Spring集成的支持,在目前的
Web Service开源社区拥有众多的追随者。并且因为XFire为Spring提供的支持,使得我们
可以很容易在Spring中使用XFire构建Web Service应用。
XFire 与Axis2相比具有如下特征:
l 支持一系列Web Service的新标准--JSR181、WSDL2.0 、JAXB2、WS-Security
等;
l 使用Stax解释XML,性能有了质的提高。XFire采用Woodstox 作Stax实现;
l 容易上手,可以方便快速地从pojo发布服务;
l 支持Spring、Pico、Plexus、Loom等容器;
l 灵活的Binding机制,包括默认的Aegis,xmlbeans,jaxb2,castor;
l 高性能的SOAP 栈设计;
l 支持Spring、Pico、Plexus、Loom等容器。
XFire 与Axis1性能的比较如下:
l XFire 比Axis1.3快2-6倍;
l XFire 的响应时间是Axis1.3的1/2到1/5。
XFire 在WebService框架中开始较晚,它从现有的框架中借鉴了许多优秀的理念,力争将
Web Service的应用开发难度降到最低。此外,还提供了各种绑定技术、支持多种传输协议,
对WebService体系中许多新的规范提供了支持。
下面让我们来看一个XFire于Spring集成的helloWorld的简单例子。
一.实现的功能和特点
本例具有如下功能和特点:
1) 基于J2EE平台的Web Service服务;
2) 开发方便,配置简单;
3) 与spring无缝集成。
XFire 是完全基于流数据处理进行工作的系统,这意味着XFire不是将整个SOAP文档缓存
在内存中,而是以管道的方式接收SOAP流数据。这种工作方式的转变带来了可观的性能
回报,同时节省了内存的占用。
XFire 从管道中接收一个SOAP请求到返回一个SOAP响应,会经历一系列的阶段。在
管道调用的任何一个阶段,XFire都可以添加一些额外的Handler,在对消息进行加工处理
后再传入到下一个阶段中。在SOAP请求消息对Web Service发起真正调用之前,分别会经
过传输、预转发、转发、策略实施、用户信息处理、预调用、服务调用等阶段。
二.开发环境
笔者的开发环境描述如下:
1) jdk: 1.5 版本;
2) Tomcat :5.5.20;
3) MyEclipse: 5.1.1 GA 。
三.开发步骤
1. 工程与环境的建立
在 MyEclipse中新建Web工程,名为webservice_helloworld。选择该工程后,点击右键选择
MyEclipse->Add Web Service Capabilities,弹出Add Web Service Capabilities对话框,点击
“Next”,弹出Project Library Configuration对话框,默认选择Core Libraries,点击“Finish”
按钮,完成XFire核心包的添加。为了后续的客户端的测试,还需读者加入commons-
包到WEB-INF/lib下。
部署后可看到此时WEB-INF/lib的jar包列表如下:
、 、、commons-
、、、jaxws-api- 、、
jsr173_、、、 、、
、、 、、、
xfire-aegis- 、、、xfire- 、
、、xfire- 、
为了后续的开发和测试,在src目录下分别建立test和webservice目录,分别用于存放测试
文件和webservice的相关类。


发布评论