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


131

之间有什么区别?

  1. JAX-WS
  2. 轴2
  3. CXF

这三个都可以用来在Java中创建Web服务。
据我所知,JAX-WS是一个规范,而Axis2和CXF是实现,但是如果我没看错的话,Java 1.6可以实现JAX-WS。

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

Answers:


143

内置到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实现。基本上,jdk中的JAX-WS impl中没有很多可用的东西。

另请参阅:

Apache CXF和Axis之间的区别


1
谢谢,有很多帮助。因此对于基本的Web服务,我只能使用Java 1.6来实现。它们是Java 1.5中jax-ws的实现吗?还是在1.6之后添加?如果我需要其他功能,可以使用CXF吗?
Maverick Riz 2012年

5
它是在1.6中添加的。如果需要1.5支持,则需要获取CXF或JAX-WS参考impl或类似内容。
丹尼尔·库尔普

7
在大多数情况下,如果从in-jdk JAX-WS impl开始,则可以随时放入CXF,它仍然可以工作。
丹尼尔·库尔普

1
我有点怀疑。Metro-JDK中内置的JAX-WS实现不是吗?还是Metro比JDK中内置的JAX-WS实现更复杂?
德克斯特(Dexter)

16

简而言之。

WSDL WS- *与语言无关。

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

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

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



3

Web Service组织发布了一些准则,例如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。如果要使用其他实现,则需要特殊的实现罐。

Axis-2和CXF来自Apache

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.