阳光VIP

少壮不努力,老大徒伤悲。平日弗用功,自到临期悔。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

[webservices开发]XFire实战

Posted on 2012-02-03 11:51  阳光VIP  阅读(181)  评论(0编辑  收藏  举报

你可以到http://www.kuaff.com下载本篇文档的pdf版以及升级版,我会不定期的进行文档的补充和完善。

 

       XFire是codehaus推出的下一代的java SOAP框架,通过提供简单的API和支持标准协议,你可以方便的开发面向服务的程序。内建在STAX基于流的XML解析引擎的基础上,XFire拥有很高的性能。相对Axis来说,目前它的人气指数相当的高,加上和String集成,在目前的java webservices开源社区非常的受欢迎,也被多个开源项目所集成。这篇文档将通过实例带你进行Xfire简单开发之旅。通过一系列的实际例子,带你进入的XFire的webservices世界。

       XFire拥有以下的特性:

<!--[if !supportLists]-->²        <!--[endif]-->支持重要的web服务标准,如SOAP、WSDL、WS-I、WS-Addressing、WS-Security基本概要等

<!--[if !supportLists]-->²        <!--[endif]-->高性能的SOAP 栈设计

<!--[if !supportLists]-->²        <!--[endif]-->可插拔的绑定,支持POJO、XMLBeans、JAXB1.1、JAXB2以及castor

<!--[if !supportLists]-->²        <!--[endif]-->jsr 181规范

<!--[if !supportLists]-->²        <!--[endif]-->支持多种传输协议:HTTP, JMS, XMPP, In-JVM等

<!--[if !supportLists]-->²        <!--[endif]-->可嵌入式的API

<!--[if !supportLists]-->²        <!--[endif]-->支持Spring、Pico、Plexus、Loom容器

<!--[if !supportLists]-->²        <!--[endif]-->JBI支持

<!--[if !supportLists]-->²        <!--[endif]-->客户端和服务器端的存根创建工具

<!--[if !supportLists]-->²        <!--[endif]-->JAX-WS的早期支持

 

通过下表你可以看到XFire和其它框架的SOAP 栈的实现的比较(2006年3月30日):

一般特性

特性

Axis 1.2.x

Axis 2 (0.9)

 Celtix

Glue

JBossWS 

XFire

Basic Profile 1.1 Compliant

X

X

 X

X

 X

X

Castor Support

X

 

 

 

 

X

Easily Embedded

 

X

 X

X

 

X

DIME

X

 

 

X

 

 

Easily Create Services from POJOs

 

 

 X

X

 

X

JAXB 1.1

 

 

 

 X

JAXB 2.0

 

 

 X

 

 

JAX-RPC

X

 

 

X?

 X

 

JAX-WS

 

 

 X

 

 

Early Access

JBI (See ServiceMix)

?

 

 X

 

 

X

JSR 181

X

 

 X

 

 X

X

JSR 181 on Java 1.4

 

 

 

 

 

X

MTOM

 

X

 

 

 X

1.1 Beta+

Open Source

X

X

 X

 

 X

X

RPC-Encoding

 

 

X

 X 

 

SAAJ

X

X?

 X

X

 ?

1.2

Soap 1.1

X

X

 X

X

 X

X

Soap 1.2

X

X

 

X

 X

X

Soap w/ Attachments

X

?

 

X

 X

Scheduled for 1.1

Streaming XML (StAX based)

 

Inbound ONLY

 

 

 

X

WSDL 1.1 Support

X

X

 X

X

 X

X

WSDL 2.0 Support

 

Post 1.0?

 

 

 

1.2

WSDL->Code (Client)

X

X

 X

X

 X

X

WSDL->Code (Server)

X

X

 X

X

 X

X

XMLBeans  Support

X

 

 

 

X

 

容器集成

特性

Axis 1.x

Axis 2.x

 Celtix

Glue

JBossWS 

XFire

Spring

X

 

 X

 

 

X

Plexus

 

 

 

 

 

 

Loom

 

 

 

 

 

X

 

传输方式

特性

Axis 1.x

Axis 2.x

 Celtix

Glue

JBossWS

XFire

Http

X

X

X

X

 X

X

JMS

X

X

X

 X

X

Jabber

Experimental

 

 

 

 

X

SMTP

X

X

 

 

 

 

 

Web服务扩展标准(WS-*)

特性

Axis 1.x

Axis 2.x

Celtix 

Glue

JBossWS 

XFire

Addressing

X

X

 X

X

 X

X

Eventing

 

 

 

 

 

 

Notification

?

?

 

?

 

Via ServiceMix

ReliableMessaging

X

X

 X

 

 

Security

X

X

 

X

 X

1.1 Beta+

       

       这篇文档将从下面几个开发方面来介绍Xfire的应用:

<!--[if !supportLists]-->²        <!--[endif]-->配置XFire

<!--[if !supportLists]-->²        <!--[endif]-->简单的Web服务

<!--[if !supportLists]-->²        <!--[endif]-->jsr181风格的Web服务

<!--[if !supportLists]-->²        <!--[endif]-->xmlbeans风格的Web服务

<!--[if !supportLists]-->²        <!--[endif]-->访问天气预报web服务

<!--[if !supportLists]-->²        <!--[endif]-->和axis、axis2交互

<!--[if !supportLists]-->²        <!--[endif]-->和asp.net交互

<!--[if !supportLists]-->²        <!--[endif]-->集成String

<!--[if !supportLists]-->²        <!--[endif]-->其他WebServices规范

本篇文档中介绍的例子都是采用Eclipse开发,应用服务器是tomcat。