我正在研究/比较CXF和Spring-WS的Web服务?我需要既作为WS的提供者又作为消费者.简而言之,我被告知Spring-WS更易于配置,但CXF更容易启动和运行.这个问题是主观的,但有助于我的研究.
您对这些框架中的任何一个有什么经验?
您是否遇到过这两种框架的任何陷阱?
您是否找到了由另一方提供的任何有用功能?
Pascal Thive.. 79
关于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:
Spring WS从XSD架构开始提供"仅"合同优先.
Spring WS支持SOAP,WS-Security,WS-Addressing.
所以,最后,我认为Spring WS是一个最小的 Web服务框架,但考虑到它(在我看来)没有比Apache CXF(它与Spring集成得非常好)相比有任何优势.在两者之间,我会选择Apache CXF.
关于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:
Spring WS从XSD架构开始提供"仅"合同优先.
Spring WS支持SOAP,WS-Security,WS-Addressing.
所以,最后,我认为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遇到的问题,请参阅我的帖子/sf/ask/17360801/#290205 我同意工具包,框架之间的最大区别是在意识形态上:第一个代码(即接口)或契约(即wsdl)是什么.在这里查看一些细节:
Spring Web Services和Java的最佳实践
Spring WS教程
Spring Web Services 1.5中的新功能.
Apache CXF:
关键积极因素:
❶最广泛使用的Web Services Standard Now; 对AXIS2的改进,现在逐渐被Apache CXF取代
❷直观且易于使用(与AXIS2相比,所需编码更少)
❸从核心代码中清除前端的分离,如JAX-WS
❹完全符合JAX-WS,JAX-RS等
❺所有可用框架的最佳性能,并且计算开销最小
❻支持各种前端型号
❼支持JAX-WS和JAX-RS(用于Restful Services)
❽支持JBI和SDO(AXIS2不支持)
❾与Spring Framework兼容
主要关注点:
❶尚不支持Orchestration&WS Transactions
❷尚不支持WSDL 2.0
Spring WS:
关键积极因素:
❶在支持合同优先的Web服务开发方法方面是最好的
❷通过框架约束强制执行标准和最佳实践(没有办法,因此也没有限制)
❸支持Spring Annotations以及JAX-WS
❹从开发人员的角度来看最少的代码
❺最好与Spring Technology Stack(也是与Spring MVC类似的架构堆栈)对齐,包括Spring Security
主要关注点:
❶支持的WS-*规格最少(不完全符合JAX-WS)
❷Spring提供标准,因此其他符合Java标准的框架支持更好的标准支持
❸仅支持契约优先Web服务开发模型
资料来源:https://dzone.com/articles/apache-cxf-vs-apache-axis-vs