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

时间:2012-07-19 17:56:27

标签: java jax-ws cxf axis2

有什么区别:

  1. JAX-WS
  2. Axis2
  3. CXF
  4. 这三个都可用于在Java中创建Web服务 据我所知,JAX-WS是规范,Axis2和CXF是实现,但如果我没有错,Java 1.6就会实现JAX-WS。

    那么可以使用Java 1.6来开发JAX-WS Web服务而无需使用Axis2或CXF吗?那么Axis2,CXF的用途是什么?

4 个答案:

答案 0 :(得分:130)

JDK中内置的JAX-WS实现只是基本的肥皂内容。如果您需要任何更复杂的WS- *事物,如WS-Security,WS-RM,WS-Policy等,您需要使用其中一种替代方案,如CXF或Metro或Axis2。它还取决于您尝试集成的内容。例如,CXF拥有一流的Spring支持以及非常好的OSGi支持。

除了JAX-WS之外,CXF还有其他功能。它还具有兼容的JAX-RS实现,并且支持将服务作为REST和SOAP公开。如果需要这种类型的东西,则具有符合W3C的SOAP / JMS实现。基本上,很多东西都没有来自in-jdk JAX-WS impl。

另见:

Difference between Apache CXF and Axis

答案 1 :(得分:15)

简而言之。

WSDL WS- *与语言无关。

JAX-WS是构建Web服务的Java标准。

Apache CXFApache Axis 2是JAX-WS的两个实现。它们还提供JAX-RS实现,以便您可以构建Restful服务。

CXF与Spring和Camel(camel-cxf)的集成度更高。 Axis 2似乎没有主动发布。

答案 2 :(得分:13)

我发现使用CXF - 与Spring的集成非常容易。此外,它提供了各种功能,如:

  1. 自定义日志记录功能
  2. 入站和出站拦截器
  3. 应用程序级安全性
  4. 使用自定义故障轻松处理异常。
  5. 如需了解更多详情,请查看此链接:

    http://predic8.com/axis2-cxf-jax-ws-comparison.htm

    http://www.ibm.com/developerworks/java/library/j-jws11/

    而且,我在上面阅读了链接,它对我很有帮助。我希望它对你也有效。

    谢谢!

答案 3 :(得分:3)

Web服务组织提出了一些指导原则,即BP(基本概要)1.0和BP(基本概要)1.1。 基于指南所有语言(Java / .Net)人员发布带默认实现的规范 在Java基础上,BP 1.0规范是JAX-RPC和1.0规范是JAX-WS

JAX-WS默认实现是RI(参考实现) 根据要求/选择我们可以改变实施(RI / AXIS-2 / CXF)

当我们使用java 1.6时,JDK中的这种情况已经可用,因此不需要任何其他jar。如果你想使用不同的实现,那么需要特殊的实现jar。

Axis-2和CXF来自Apache