哪个框架是更好的CXF或Spring-WS?[关闭]


80

我正在研究/比较CXF和Spring-WS的Web服务吗?我需要同时充当WS的提供者和使用者。简而言之,我被告知Spring-WS更具可配置性,但是CXF易于启动和运行。这个问题是主观的,但将有助于指导我的研究。

  • 您对这两个框架有什么经验?
  • 您对这两个框架有任何陷阱吗?
  • 您是否发现任何一个提供的有用功能可能是另一个没有提供的功能?

Answers:


21

我认为最大的区别是Spring-WS只是“合同第一”,而我认为CXF通常是“合同最后”。

http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html

Contract-last从Java代码开始,因此通常更容易上手。

但是,它创建的WSDL往往更脆弱。


19
我相信,JAX-WS支持合同优先方法,这是认真开发人员正在使用的方法。因此,这绝对不是区分JAX-WS堆栈和Spring WS的好方法。实际上,Spring WS不能与JAX-WS相比,Spring WS只是一个简约的WS堆栈。
Pascal Thivent 2010年

80

关于Apache CXF:

  • CXF支持多种标准,包括SOAP,WSI基本配置文件,WSDL,WS-Addressing,WS-Policy,WS-ReliableMessaging,WS-Security,WS-SecurityPolicy和WS-SecureConversation。
  • Apache CXF提供了后契约(从Java开始)和契约优先(从WSDL开始)两种方法。
  • Apache CXF实现了JAX-WS和JAX-RS。

关于Spring WS:

  • 从XSD架构开始,Spring WS提供“仅”合同优先。
  • Spring WS支持SOAP,WS-Security,WS-Addressing。

因此,最后,我将Spring WS视为一个最小的Web服务框架,但我认为它与Apache CXF(与Spring集成得很好)相比没有任何优势。在这两者之间,我会选择Apache CXF。


34

CXF不会以任何方式阻止您开始使用合同(WSDL)。我使用这两种产品来构建Web服务。

在CXF中,我使用了Maven和Maven插件,调用了wsimport目标来生成SEI(接口),然后将其实现。在实现了包含实际服务逻辑的接口并配置了我的bean实现bean.xml之后,然后让Maven将其打包到war文件中进行部署。整个练习再简单不过了。

我认为Spring-WS所没有的优势超过了JAX-WS的不足。CXF已经允许您使用Spring来连接bean,并且还具有JAX-WS的完整实现。


12

我们拥有CXF的经验,它是XFire的前身,我可以推荐它为可靠,快速(WS创建和执行)和可靠的框架。

关于您可以使用CXF遇到的问题,请参阅我的帖子/programming/289977/recommended-framework-for-java-web-services#290205 我同意工具箱,即框架之间的最大区别是从思想上讲:第一个代码(即接口)或协定(即wsdl)是什么。在此处查看一些详细信息:



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.