JAX-WS,Axis2和CXF之间的区别

有什么区别:

  1. JAX-WS
  2. Axis2的
  3. 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,如:

  1. loggingfunction的自定义
  2. 入站和出站拦截器
  3. 应用程序级安全性
  4. 使用自定义故障轻松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