JAX-WS,Axis2和CXF之间的区别
有什么区别:
- JAX-WS
- Axis2的
- CXF
所有这三个都可以用来在Java中创buildWeb服务。
据我所知,JAX-WS是一个规范 ,Axis2和CXF是实现,但是如果我没有错误的话,Java 1.6已经实现了JAX-WS。
那么可以使用Java 1.6开发JAX-WS Web服务而不使用Axis2或CXF? 那么Axis2,CXF有什么用?
内置于JDK中的JAX-WS实现实际上只是基本的soap东西。 如果您需要WS-Security,WS-RM,WS-Policy等更复杂的WS- *,则需要使用CXF,Metro或Axis2等其他选项。 它也可以取决于你正在尝试整合的东西。 例如,CXF具有顶尖的Spring支持以及非常好的OSGi支持。
除了JAX-WS之外,CXF还有其他的东西。 它还具有兼容的JAX-RS实现,并且支持将服务作为REST和SOAP进行展示。 如果需要这种types的东西,则具有符合W3C的SOAP / JMS实现。 基本上,从jdk JAX-WS impl中没有很多东西可用。
另请参阅:
Apache CXF和Axis的区别
我发现用CXF与Spring集成非常容易。 此外,它提供了各种function,如:
- loggingfunction的自定义
- 入站和出站拦截器
- 应用程序级安全性
- 使用自定义故障轻松exception处理。
欲了解更多详情,如果你想,请检查这个链接:
http://predic8.com/axis2-cxf-jax-ws-comparison.htm
http://www.ibm.com/developerworks/java/library/j-jws11/
而且,我读了上面的链接,它对我很有帮助。 我希望它也适用于你。
谢谢 !
简而言之。
WSDL WS- *是语言不可知的。
JAX-WS是构buildWeb服务的Java标准。
Apache CXF和Apache Axis 2是JAX-WS的两个实现。 他们还提供JAX-RS实现,以便您可以构buildRestful服务。
CXF与Spring和Camel( camel-cxf )有更好的整合。 轴2似乎没有一个积极的发布。
Web服务组织遵循一些准则,即BP(基本简档)1.0和BP(基本简档)1.1。 基于指南所有语言(Java / .Net)人员发布规范与默认实现在基于BP 1.0的Java基础规范是JAX-RPC和1.0规范是JAX-WS
JAX-WS默认实现是RI(参考实现)基于需求/select我们可以改变实现(RI / AXIS-2 / CXF)
当我们使用java 1.6的情况下,JDK已经可用,所以不需要任何其他的jar。 如果你想使用不同的实现,那么需要特定的实现jar。
Axis-2和CXF来自Apache