Web service框架
CXF
最新版本:2.2.2前端
開源服務框架,能夠經過API,如JAX-WS,構建和開發服務。服務可使多種協議的,例如SOAP, XML/HTTP, RESTful HTTP, CORBA,並能夠工做與多種傳輸協議之上,如HTTP,JMS,JBI。web
主要特性
l 支持Webservice標準:包括SOAP, the Basic Profile, WSDL, WS-Addressing, WS-Policy, WS-ReliableMessaging, 和 WS-Security。apache
l 前端(Frontend):支持多種前端編程模型。CXF實現了JAX-WS API。它包含一個簡單的前端,能夠建立客戶端和端點而不須要註釋。既支持協議優先的WSDL開發,也支持代碼優先的Java開發。編程
l 易用性:能夠經過簡單的API快速構建代碼優先的服務,簡化模具集成的Maven插件,支持JAX-WS API,支持Spring 2.0 XML來配置一個子網訪問協議。安全
l 支持二進制和遺留協議:提供了一個插件式的體系結構,支持XML和非XML類型的綁定,如JSON 和 CORBA。服務器
目標
l 總體網絡
高性能
可擴展
直觀易用
l 支持的標準架構
JAX-WS, JAX-WSA, JSR-181, and SAAJ
SOAP 1.1, 1.2, WS-I BasicProfile, WS-Security, WS-Addressing, WS-RM 和 WS-Policy
WSDL 1.1 和 2.0
MTOM
l 多種傳輸,綁定,數據綁定和格式框架
綁定: SOAP, REST/HTTP
數據綁定: JAXB 2.0, Aegis, XMLBeans. (將在下一版本中支持Castor 和 JiBX)
格式: XML, JSON
傳輸: HTTP, Servlet, JMS, and Jabber transports
可擴展 API 容許附加的綁定,支持附加的消息格式,如CSV。
l 靈活的部署異步
輕量級容器: 在 Tomcat 或 基於Spring的容器中部署服務
JBI 集成: 做爲服務引擎部署在JBI容器中,如 ServiceMix, OpenESB 或 Petals
SCA 集成: 在SCA容器中部署,例如Tuscany
J2EE 集成: 在J2EE應用程序中部署服務,如 Geronimo, JOnAS, JBoss, WebLogic, 和 WebSphere
獨立式 Java client/server
l 支持多種編程語言
徹底支持 JAX-WS 2.0 client/server 編程模型
JAX-WS 2.0 同步, 異步 和 one-way API's
JAX-WS 2.0 動態請求接口 (DII) API
支持打包和未打包的形式
XML 消息 API
支持 JavaScript and ECMAScript 4 XML (E4X) - both client and server
Support for CORBA with Yoko
Support for SCA withTuscany
Support for JBI with ServiceMix
l 代碼生成
Java to WSDL
WSDL to Java
XSD to WSDL
WSDL to XML
WSDL to SOAP
WSDL to service
Axis
最新版本:1.4
Axis是Apache組織推出的SOAP引擎,Axis項目是Apache組織著名的SOAP項目的後繼項目, 可是Axis不只僅是一個SOAP引擎,它還包括:
1)個獨立運行的SOAP服務器
2)一個servlet引擎的插件,這個servlet引擎能夠是Tomcat
3)對WSDL的擴展支持
4)一個將WSDL的描述生成JAVA類的工具
5)一些示例代碼
6)還有一個監控TCP/IP包的工具
主要特性
l 速度: Axis 使用 SAX (event-based) 語法分析,與早期版本的 Apache SOAP 相比,速度有顯著提升。
l 靈活性:Axis體系結構使開發者能夠自由的向引擎中插入擴展。
l 穩定性:Axis 定義了一組公共的接口。
l 面向組件的部署:能夠簡單地定義可複用的處理機網絡,來實現應用程序的通用處理方式或分發給合做者。
l 傳輸框架:有一個簡潔的設計傳輸的抽象,引擎的核心徹底獨立於傳輸。We have a clean and simple abstraction for designing transports (i.e., senders and listeners for SOAP over various protocols such as SMTP, FTP, message-oriented middleware, etc), and the core of the engine is completely transport-independent.
l 支持WSDL:Axis 支持WSDL1.1,能夠簡單的構建訪問遠程服務的樁(stub),還能夠自動將部署的服務從Axis導出爲機器可識別的描述。
Axis2
最新版本:1.5
體系結構
Axis2 具備模塊化體系結構,由核心模塊和非核心模塊組成。聽說,Axis2 核心是純 SOAP 處理引擎,並無包含 Java™ API for XML-based RPC (JAX-RPC) 概念做爲其核心的一部分。同時,Axis2 體系結構的設計充分考慮瞭如下原則:
邏輯和狀態分離,以提供無狀態處理機制,由於 Web 服務是無狀態的。
全部信息位於一個信息模型中,容許對系統進行掛起和恢復。
可以在不更改核心體系結構的狀況下擴展功能,能以最小或沒有核心更改的狀況下直接支持新 Web 服務規範。
Axis2 核心體系結構包括如下核心和非核心組件:
核心組件
XML 對象模型 (AXIOM)
SOAP 處理模型:處理程序框架
信息處理模型:上下文和描述
其餘組件
部署模型
傳輸
客戶機 API
核心生成模型
主要特性
· 速度 - Axis 使用 SAX (event-based) 語法分析,與早期版本的 Apache SOAP 相比,速度有顯著提升。
· 內存佔用低- Axis2 was designed ground-up keeping low memory foot print in mind.
· AXIOM - Axis2 comes with its own light-weight object model, AXIOM, for message processing which is extensible, highly performant and is developer convenient.
· 熱部署 - Axis2 is equipped with the capability of deploying Web services and handlers while the system is up and running. In other words, new services can be added to the system without having to shut down the server. Simply drop the required Web service archive into the services directory in the repository, and the deployment model will automatically deploy the service and make it available for use.
· 異步web服務 - Axis2 now supports asynchronous Web services and asynchronous Web services invocation using non-blocking clients and transports.
· 支持MEP - Axis2 now comes handy with the flexibility to support Message Exchange Patterns (MEPs) with in-built support for basic MEPs defined in WSDL 2.0.
· 靈活性 - Axis體系結構使開發者能夠自由的向引擎中插入擴展。
· 穩定性 - Axis 定義了一組公共的接口。
· 面向組件的部署 -能夠簡單地定義可複用的處理機網絡,來實現應用程序的通用處理方式或分發給合做者。
· 傳輸框架 -有一個簡潔的設計傳輸的抽象,引擎的核心徹底獨立於傳輸。We have a clean and simple abstraction for designing transports (i.e., senders and listeners for SOAP over various protocols such as SMTP, FTP, message-oriented middleware, etc), and the core of the engine is completely transport-independent.
· 支持WSDL - Axis 支持WSDL1.1,能夠簡單的構建訪問遠程服務的樁(stub),還能夠自動將部署的服務從Axis導出爲機器可識別的描述。
· 插件 - Several Web services specifications have been incorporated including WSS4J for security (Apache Rampart), Sandesha for reliable messaging, Kandula which is an encapsulation of WS-Coordination, WS-AtomicTransaction and WS-BusinessActivity.
· 組成和可擴展性 - Modules and phases improve support for composability and extensibility. Modules support composability and can also support new WS-* specifications in a simple and clean manner. They are however not hot deployable as they change the overall behavior of the system.
Xfire
XFire 是 codeHaus 組織提供的一個開源框架,它構建了 POJO 和 SOA 之間的橋樑,主要特性就是支持將 POJO 經過很是簡單的方式發佈成 Web 服務,這種處理方式不只充分發揮了 POJO 的做用,簡化了 Java 應用轉化爲 Web 服務的步驟和過程,也直接下降了 SOA 的實現難度,爲企業轉向 SOA 架構提供了一種簡單可行的方式。
主要特性
XFire 目前最新的版本是 1.2.6,目前支持的特性主要包括:
支持將 Web 服務綁定到 POJO、XMLBeans、JAXB1.一、JAXB2.0 和 Castor;
支持基於 HTTP、JMS、XMPP 等多種協議訪問 Web 服務;
支持多種 Web 服務業界重要標準如 SOAP、WSDL、Web 服務尋址(WS-Addressing)、Web 服務安全(WS-Security)等;
支持 JSR181,能夠經過 JDK5 配置 Web 服務;
高性能的 SOAP 實現;
服務器端、客戶端代碼輔助生成;
對 Spring、Pico、Plexus 等項目的支持等。
比較
Axis1.X VS Axis2
Axis2 不只是 Apache 的新 Web 服務框架。它還體現了從 Axis 1.x 系列得到的經驗和最近兩年在 Web 服務領域的發展。推出 Axis2 的主要緣由之一是從速度和內存方面得到更好的性能——不過還添加了一些新特性和功能。大部分新特性都是爲了提升 Axis2 的易用性,並同時保留經過各類方式擴展功能的空間。大部分新功能所添加到的主要領域以下所示:
新 XML 對象模型 (AXIOM)
與 Axis 1.x 相比,Axis2 構建於全新的體系結構之上。引入 Axis2 的主要緣由之一是得到合適的 XML 處理模型。Axis 1.x 使用 DOM 做爲其 XML 表示機制,但使用 DOM 的缺點是,須要在內存中保存完整的對象層次結構(與傳入消息對應)。對於小消息,這將不是問題,但對於大型消息就是問題了。爲了克服此問題,Axis2 引入了新的 XML 表示形式做爲其基礎。
基於消息傳遞的核心
Axis2 核心是純 SOAP 處理引擎,並不瞭解數據綁定、傳輸、WSDl 等內容。Axis2 核心的主要功能是處理傳輸消息,並將其交付給目標應用程序。與 Axis 1.x 同樣,Axis2 也具備用於擴展其主要功能的處理程序概念。
Axis 1.x 並無異步 Web 服務調用的概念,它徹底綁定到請求-響應調用,但在 Axis2 中倒是另外一番景象。Axis2 體系結構可以支持在客戶端和服務器端同時支持異步調用。同時,Axis2 也支持請求-響應樣式的調用,但這會以兩個異步調用的方式進行。在 Axis2 中,進入系統的消息可能有也可能沒有響應,應該注意,Aixs2 支持 WSDL 2.0 中定義的全部八種消息交換模式(Message Exchange Patterns,MEP)。
Axis2 具備流的概念,流是階段的集合,而階段是處理程序的集合。根據給定方法調用的 MEP,與其關聯的流的數量可能會有所變化。
部署模型
在 Axis 1.x 中,用戶必須手動調用管理客戶機,並更新服務器類路徑,而後從新啓動服務器,以應用更改。這個有點麻煩的部署模型對新手確定是一道障礙。Axis2 通過了精心的設計,可以克服此缺點,並提供靈活、用戶友好、可方便進行配置的部署模型。Axis2 部署引入了相似於 Java™ 2 Platform Enterprise Edition (J2EE) 部署機制的概念,開發人員能夠在其中將全部類文件、庫文件、資源文件和配置文件一塊兒打包爲存檔文件,並將其放置在文件系統中的指定位置。
模塊體系結構
在 Axis 1.x 中,要添加處理程序,須要首先更改全局配置文件,而後須要從新啓動系統,並無在運行時更改處理程序鏈的動態方法。爲了克服這個問題和增長新特性,Axis2 引入了 Web 服務擴展或模塊的概念;其中模塊的主要工做是對核心功能進行擴展。在 Axis 1.x 中,能夠經過向處理程序鏈添加處理程序來實現此目標。與 Axis 1.x 處理程序鏈相比,使用模塊的優點在於,您能夠在根本不改變全局配置文件的狀況下添加新模塊。同時,模塊是一個自容器,其中能夠包含處理程序、第三方庫、模塊相關資源和模塊配置文件。
XFire VS Axis
XFire是與Axis2 並列的新一代WebService平臺。之因此並稱爲新一代,由於它:
1. 支持一系列Web Service的新標準--JSR18一、WSDL2.0 、JAXB二、WS-Security等;
2. 使用Stax解釋XML,性能有了質的提升。XFire採用Woodstox 做Stax實現;
3. 容易上手,能夠方便快速地從pojo發佈服務;
4. Spring的結合;
5. 靈活的Binding機制,包括默認的Aegis,xmlbeans,jaxb2,castor。
XFire與Axis1性能的比較
XFire比Axis1.3快2-6倍
XFire的響應時間是Axis1.3的1/2到1/5
XFire與Axis2的比較
雖然XFire與Axis2都是新一代的WebService平臺,可是Axis2的1.0版本還不是一個穩定的版本。在XFire捐獻給apache後有人認爲Axis2將會滅亡。在不少人眼裏,Axis2並非pojo形式,Dan Diephouse證實了XFire比Axis更有市場。用XFire進行WebService的開發比Axis2簡單不少。
AXIS VS CXF
在SOA領域,咱們認爲Web Service是SOA體系的構建單元(building block)。對於服務開發人員來講,AXIS和CXF必定都不會陌生。這兩個產品都是Apache孵化器下面的Web Service開源開發工具。 Axis2的最新版本是1.3.CXF如今已經到了2.0版本。
這兩個框架 都是從已有的開源項目發展起來的。Axis2是從Axis1.x系列發展而來。CXF則是XFire和Celtix項目的結合產品。Axis2是從底層所有從新實現,使用了新的擴展性更好模塊架構。 CXF也從新的深化了XFire和Celtix這兩個開發工具。
新產品的退出致使了幾個問題。是否是現有的使用Axis 1.x,XFire和Celix的應用須要遷移的新的版本上。若是一個開發人員肯定要遷移它的應用到新的框架上,那麼他應該選擇哪個呢?相反的,若是一個開發者決定從頭開發一個新的Web Service,他應該使用哪一個呢? 這兩個框架哪個更好一些呢?
對於系統遷移來講,也許遷移到新的框架並不難。Axis和CXF都提供了遷移的指導。可以給開發者一些遷移的技巧和經驗。可是對於這樣遷移,這兩個開源項目都沒有提供遷移的工具。對於這樣的遷移工做,儘管很值得去尋找全部的可行方案。Axis2和CXF都有各自不一樣的WebService開發方法,每一個方法都有至關數量擁護者。
經過一個比較矩陣來比較Axis2和CXF變得有現實的意義。這兩個項目都開發不夠成熟,可是最主要的區別在如下幾個方面:
1.CXF支持 WS-Addressing,WS-Policy, WS-RM, WS-Security和WS-I Basic Profile。Axis2不支持WS-Policy,可是承諾在下面的版本支持。
2. CXF能夠很好支持Spring。Axis2不能
3. AXIS2支持更普遍的數據並對,如XMLBeans,JiBX,JaxMe和JaxBRI和它自定義的數據綁定ADB。注意JaxME和JaxBRI都仍是試驗性的。CXF只支持JAXB和Aegis,而且默認是 JAXB 2.0。
4. Axis2支持多語言-除了Java,他還支持C/C++版本。
比較這兩個框架的Web Service開發方法與比較它們的特性一樣重要。 從開發者的角度,兩個框架的特性至關的不一樣。 Axis2的開發方式相似一個小型的應用服務器,Axis2的開發包要以WAR的形式部署到Servlet容器中,好比Tomcat,經過這些容器能夠對工做中的Web Service進行很好的監控和管理。Axis2 的Web administrion模塊可讓咱們動態的配置Axis2.一個新的服務能夠上載,激活,使之失效,修改web服務的參數。管理UI也能夠管理一個或者多個處於運行狀態的服務。這種界面化管理方式的一個弊端是全部在運行時修改的參數沒有辦法保存,由於在重啓動以後,你所作的修改就會所有失效。
Axis2容許本身做爲獨立的應用來發布Web Service,並提供了大量的功能和一個很好的模型,這個模型能夠經過它自己的架構(modular architecture)不斷添加新的功能。有些開發人員認爲這種方式對於他們的需求太過於繁瑣。這些開發人員會更喜歡CXF。
CXF更注重開發人員的工效(ergonomics)和嵌入能力(embeddability)。大多數配置均可以API來完成,替代了比較繁瑣的XML配置文件, Spring的集成性常常的被說起,CXF支持Spring2.0和CXF's API和Spring的配置文件能夠很是好的對應。CXF強調代碼優先的設計方式(code-first design),使用了簡單的API使得從現有的應用開發服務變得方便。
不論選擇Axis2仍是CXF,均可以從開源社區獲得大量的幫助。這兩個框架都有商業公司提供服務,WSO2提供AXIS2的支持,Iona提供CXF的支持。這兩公司都有很活躍的開發者社區。 Axis2出現的時間較早,CXF的追趕速度快。若是須要多語言的支持,應該選擇AXIS2。若是須要把的實現側重JAVA並但願和Spring集成,CXF就是更好的選擇,特別是把Web Service嵌入其餘的程序中。
轉載: http://blog.csdn.net/dengjianli/archive/2009/06/13/4267264.aspx
Web 服務框架。它還體現了從 Axis 1.x 系列得到的經驗和最近兩年在 Web 服務領域的發展。推出 Axis2 的主要緣由之一是從速度和內存方面得到更好的性能——不過還添加了一些新特性和功能。大部分新特性都是爲了提升 Axis2 的易用性,並同時保留經過各類方式擴展功能的空間。大部分新功能所添加到的主要領域以下所示:
新 XML 對象模型 (AXIOM)
與 Axis 1.x 相比,Axis2 構建於全新的體系結構之上。引入 Axis2 的主要緣由之一是得到合適的 XML 處理模型。Axis 1.x 使用 DOM 做爲其 XML 表示機制,但使用 DOM 的缺點是,須要在內存中保存完整的對象層次結構(與傳入消息對應)。對於小消息,這將不是問題,但對於大型消息就是問題了。爲了克服此問題,Axis2 引入了新的 XML 表示形式做爲其基礎。
基於消息傳遞的核心
Axis2 核心是純 SOAP 處理引擎,並不瞭解數據綁定、傳輸、WSDl 等內容。Axis2 核心的主要功能是處理傳輸消息,並將其交付給目標應用程序。與 Axis 1.x 同樣,Axis2 也具備用於擴展其主要功能的處理程序概念。
Axis 1.x 並無異步 Web 服務調用的概念,它徹底綁定到請求-響應調用,但在 Axis2 中倒是另外一番景象。Axis2 體系結構可以支持在客戶端和服務器端同時支持異步調用。同時,Axis2 也支持請求-響應樣式的調用,但這會以兩個異步調用的方式進行。在 Axis2 中,進入系統的消息可能有也可能沒有響應,應該注意,Aixs2 支持 WSDL 2.0 中定義的全部八種消息交換模式(Message Exchange Patterns,MEP)。
Axis2 具備流的概念,流是階段的集合,而階段是處理程序的集合。根據給定方法調用的 MEP,與其關聯的流的數量可能會有所變化。
部署模型
在 Axis 1.x 中,用戶必須手動調用管理客戶機,並更新服務器類路徑,而後從新啓動服務器,以應用更改。這個有點麻煩的部署模型對新手確定是一道障礙。Axis2 通過了精心的設計,可以克服此缺點,並提供靈活、用戶友好、可方便進行配置的部署模型。Axis2 部署引入了相似於 Java™ 2 Platform Enterprise Edition (J2EE) 部署機制的概念,開發人員能夠在其中將全部類文件、庫文件、資源文件和配置文件一塊兒打包爲存檔文件,並將其放置在文件系統中的指定位置。
模塊體系結構
在 Axis 1.x 中,要添加處理程序,須要首先更改全局配置文件,而後須要從新啓動系統,並無在運行時更改處理程序鏈的動態方法。爲了克服這個問題和增長新特性,Axis2 引入了 Web 服務擴展或模塊的概念;其中模塊的主要工做是對核心功能進行擴展。在 Axis 1.x 中,能夠經過向處理程序鏈添加處理程序來實現此目標。與 Axis 1.x 處理程序鏈相比,使用模塊的優點在於,您能夠在根本不改變全局配置文件的狀況下添加新模塊。同時,模塊是一個自容器,其中能夠包含處理程序、第三方庫、模塊相關資源和模塊配置文件。
XFire VS Axis
XFire是與Axis2 並列的新一代WebService平臺。之因此並稱爲新一代,由於它:
1. 支持一系列Web Service的新標準--JSR18一、WSDL2.0 、JAXB二、WS-Security等;
2. 使用Stax解釋XML,性能有了質的提升。XFire採用Woodstox 做Stax實現;
3. 容易上手,能夠方便快速地從pojo發佈服務;
4. Spring的結合;
5. 靈活的Binding機制,包括默認的Aegis,xmlbeans,jaxb2,castor。
XFire與Axis1性能的比較
XFire比Axis1.3快2-6倍
XFire的響應時間是Axis1.3的1/2到1/5
XFire與Axis2的比較
雖然XFire與Axis2都是新一代的WebService平臺,可是Axis2的1.0版本還不是一個穩定的版本。在XFire捐獻給apache後有人認爲Axis2將會滅亡。在不少人眼裏,Axis2並非pojo形式,Dan Diephouse證實了XFire比Axis更有市場。用XFire進行WebService的開發比Axis2簡單不少。
AXIS VS CXF
在SOA領域,咱們認爲Web Service是SOA體系的構建單元(building block)。對於服務開發人員來講,AXIS和CXF必定都不會陌生。這兩個產品都是Apache孵化器下面的Web Service開源開發工具。 Axis2的最新版本是1.3.CXF如今已經到了2.0版本。
這兩個框架 都是從已有的開源項目發展起來的。Axis2是從Axis1.x系列發展而來。CXF則是XFire和Celtix項目的結合產品。Axis2是從底層所有從新實現,使用了新的擴展性更好模塊架構。 CXF也從新的深化了XFire和Celtix這兩個開發工具。
新產品的退出致使了幾個問題。是否是現有的使用Axis 1.x,XFire和Celix的應用須要遷移的新的版本上。若是一個開發人員肯定要遷移它的應用到新的框架上,那麼他應該選擇哪個呢?相反的,若是一個開發者決定從頭開發一個新的Web Service,他應該使用哪一個呢? 這兩個框架哪個更好一些呢?
對於系統遷移來講,也許遷移到新的框架並不難。Axis和CXF都提供了遷移的指導。可以給開發者一些遷移的技巧和經驗。可是對於這樣遷移,這兩個開源項目都沒有提供遷移的工具。對於這樣的遷移工做,儘管很值得去尋找全部的可行方案。Axis2和CXF都有各自不一樣的WebService開發方法,每一個方法都有至關數量擁護者。
經過一個比較矩陣來比較Axis2和CXF變得有現實的意義。這兩個項目都開發不夠成熟,可是最主要的區別在如下幾個方面:
1.CXF支持 WS-Addressing,WS-Policy, WS-RM, WS-Security和WS-I Basic Profile。Axis2不支持WS-Policy,可是承諾在下面的版本支持。
2. CXF能夠很好支持Spring。Axis2不能
3. AXIS2支持更普遍的數據並對,如XMLBeans,JiBX,JaxMe和JaxBRI和它自定義的數據綁定ADB。注意JaxME和JaxBRI都仍是試驗性的。CXF只支持JAXB和Aegis,而且默認是 JAXB 2.0。
4. Axis2支持多語言-除了Java,他還支持C/C++版本。
比較這兩個框架的Web Service開發方法與比較它們的特性一樣重要。 從開發者的角度,兩個框架的特性至關的不一樣。 Axis2的開發方式相似一個小型的應用服務器,Axis2的開發包要以WAR的形式部署到Servlet容器中,好比Tomcat,經過這些容器能夠對工做中的Web Service進行很好的監控和管理。Axis2 的Web administrion模塊可讓咱們動態的配置Axis2.一個新的服務能夠上載,激活,使之失效,修改web服務的參數。管理UI也能夠管理一個或者多個處於運行狀態的服務。這種界面化管理方式的一個弊端是全部在運行時修改的參數沒有辦法保存,由於在重啓動以後,你所作的修改就會所有失效。
Axis2容許本身做爲獨立的應用來發布Web Service,並提供了大量的功能和一個很好的模型,這個模型能夠經過它自己的架構(modular architecture)不斷添加新的功能。有些開發人員認爲這種方式對於他們的需求太過於繁瑣。這些開發人員會更喜歡CXF。
CXF更注重開發人員的工效(ergonomics)和嵌入能力(embeddability)。大多數配置均可以API來完成,替代了比較繁瑣的XML配置文件, Spring的集成性常常的被說起,CXF支持Spring2.0和CXF's API和Spring的配置文件能夠很是好的對應。CXF強調代碼優先的設計方式(code-first design),使用了簡單的API使得從現有的應用開發服務變得方便。
不論選擇Axis2仍是CXF,均可以從開源社區獲得大量的幫助。這兩個框架都有商業公司提供服務,WSO2提供AXIS2的支持,Iona提供CXF的支持。這兩公司都有很活躍的開發者社區。 Axis2出現的時間較早,CXF的追趕速度快。若是須要多語言的支持,應該選擇AXIS2。若是須要把的實現側重JAVA並但願和Spring集成,CXF就是更好的選擇,特別是把Web Service嵌入其餘的程序中
轉載:http://blog.csdn.net/meteorlWJ/archive/2009/09/11/4543460.aspx