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

问题

有什么区别:

  • JAX-WS
  • Axis2
  • CXF

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

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


#1 热门回答(121 赞)

内置于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


#2 热门回答(12 赞)

简而言之。

WSDL WS- *与语言无关。

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

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

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


#3 热门回答(11 赞)

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

  • 自定义日志功能
  • 入站和出站拦截器
  • 应用程序级安全性
  • 使用自定义故障轻松处理异常。

有关详细信息,如果需要,请查看此链接:
http://predic8.com/axis2-cxf-jax-ws-comparison.htmhttp://www.ibm.com/developerworks/java/library/j-jws11/
而且,我在上面阅读了链接,它对我有用。我希望它对你也有效。

谢谢 !