我正在研究/比较CXF和Spring-WS的Web服务吗?我需要同时充当WS的提供者和使用者。简而言之,我被告知Spring-WS更具可配置性,但是CXF易于启动和运行。这个问题是主观的,但将有助于指导我的研究。
- 您对这两个框架有什么经验?
- 您对这两个框架有任何陷阱吗?
- 您是否发现任何一个提供的有用功能可能是另一个没有提供的功能?
Answers:
我认为最大的区别是Spring-WS只是“合同第一”,而我认为CXF通常是“合同最后”。
http://static.springsource.org/spring-ws/sites/1.5/reference/html/why-contract-first.html
Contract-last从Java代码开始,因此通常更容易上手。
但是,它创建的WSDL往往更脆弱。
关于Apache CXF:
关于Spring WS:
因此,最后,我将Spring WS视为一个最小的Web服务框架,但我认为它与Apache CXF(与Spring集成得很好)相比没有任何优势。在这两者之间,我会选择Apache CXF。
CXF不会以任何方式阻止您开始使用合同(WSDL)。我使用这两种产品来构建Web服务。
在CXF中,我使用了Maven和Maven插件,调用了wsimport目标来生成SEI(接口),然后将其实现。在实现了包含实际服务逻辑的接口并配置了我的bean实现bean.xml之后,然后让Maven将其打包到war文件中进行部署。整个练习再简单不过了。
我认为Spring-WS所没有的优势超过了JAX-WS的不足。CXF已经允许您使用Spring来连接bean,并且还具有JAX-WS的完整实现。
我们拥有CXF的经验,它是XFire的前身,我可以推荐它为可靠,快速(WS创建和执行)和可靠的框架。
关于您可以使用CXF遇到的问题,请参阅我的帖子/programming/289977/recommended-framework-for-java-web-services#290205 我同意工具箱,即框架之间的最大区别是从思想上讲:第一个代码(即接口)或协定(即wsdl)是什么。在此处查看一些详细信息:
在此比较中要考虑的另一个选项是Enunciate。
特别是如果您想先从Java开始。
请查看以下相关文章:使用Spring-WS构建Web服务