有什么区别:
这三个都可用于在 Java 中创建 Web 服务。
据我所知,JAX-WS 是一种规范,而 Axis2 和 CXF 是实现,但如果我没记错的话,Java 1.6 已经实现了 JAX-WS。
那么可以使用 Java 1.6 开发 JAX-WS Web 服务而不使用 Axis2 或 CXF 吗?那么Axis2、CXF有什么用呢?
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 中获得。
另见:
简而言之。
WSDL WS-* 与语言无关。
JAX-WS 是构建 Web 服务的 Java 标准。
Apache CXF和Apache Axis 2是 JAX-WS 的两个实现。他们还提供 JAX-RS 实现,以便您可以构建 Restful 服务。
CXF 与 Spring 和 Camel( camel-cxf ) 有更好的集成。而且 Axis 2 似乎没有活动版本。
我发现 CXF - 与 Spring 的集成非常容易。此外,它提供了各种功能,例如:
如需更多详细信息,如果需要,请查看此链接:
http://predic8.com/axis2-cxf-jax-ws-comparison.htm
http://www.ibm.com/developerworks/java/library/j-jws11/
而且,我阅读了上面的链接,它对我很有帮助。我希望它也适用于你。
谢谢 !
Web 服务组织发布了一些指南,即 BP(Basic Profile) 1.0 和 BP(Basic Profile) 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