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