【发布时间】:2012-07-18 23:28:34
【问题描述】:
有什么区别:
这三个都可用于在 Java 中创建 Web 服务。
据我所知,JAX-WS 是一个规范,而 Axis2 和 CXF 是实现,但如果我没记错的话,Java 1.6 已经实现了 JAX-WS。
那么可以使用 Java 1.6 开发 JAX-WS Web 服务而不使用 Axis2 或 CXF 吗?那么Axis2、CXF有什么用呢?
【问题讨论】:
有什么区别:
这三个都可用于在 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 支持。
CXF 除了 JAX-WS 之外还有其他东西。它还具有兼容的 JAX-RS 实现,并且非常支持将服务公开为 REST 和 SOAP。如果需要这种类型的东西,则具有符合 W3C 的 SOAP/JMS 实现。基本上,很多东西都不能从 in-jdk JAX-WS impl 中获得。
另见:
【讨论】:
我发现 CXF - 与 Spring 的集成非常容易。此外,它还提供各种功能,例如:
如需了解更多详情,请查看此链接:
http://predic8.com/axis2-cxf-jax-ws-comparison.htm
http://www.ibm.com/developerworks/java/library/j-jws11/
而且,我阅读了上面的链接,它对我很有帮助。我希望它也对你有用。
谢谢!
【讨论】:
简而言之。
WSDL WS-* 与语言无关。
JAX-WS 是用于构建 Web 服务的 Java 标准。
Apache CXF 和 Apache Axis 2 是 JAX-WS 的两个实现。他们还提供 JAX-RS 实现,以便您可以构建 Restful 服务。
CXF 与 Spring 和 Camel(camel-cxf) 有更好的集成。 Axis 2 似乎还没有发布。
【讨论】:
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
【讨论】: