3

我正在开发一个 Java EE 项目,其中需要合并 Web 服务来向/从外部源传输和接收数据。我不确定要走哪条路,Axis2 还是 JAX-WS。

任何建议将不胜感激。

4

3 回答 3

7

Web 服务堆栈的选择取决于您实际需要的标准。以下是当前可用的一些堆栈:

  • JAX-WS 参考实现是 Java 的一部分并提供基本支持,包括 WS-Addressing,但不包括 WS-ReliableMessaging 或 WS-Security。最大的优势是您不会通过使用 RI 获得额外的依赖项。
  • 另一个选项是 Axis2,它也为这些标准提供支持。据我所知,Axis2 的使用正在下降,而且我个人觉得它很难使用(这基本上是一种观点,我不想引发一场激烈的战争)。
  • 我建议考虑第三种选择: CXF。它是 Web 服务堆栈的另一种实现,支持与 Axis2 大致相同。我发现它很容易设置和使用,我个人更喜欢它而不是 Axis2。
  • 另一种选择是 Metro。Metro 捆绑了 JAX-WS 参考实现和 Web 服务互操作性技术 (WSIT)。WSIT 提供了更多标准的实现,并经过调整以提供与 WCF 的互操作性。

这是一篇更详细地比较这些堆栈的文章。我的建议是:如果您只需要基本的东西(没有可靠的消息传递、安全性等),请使用参考实现。如果您需要对其他标准的支持,请选择 CXF 或 Metro。

于 2012-08-14T14:43:19.943 回答
1

地铁是必经之路!至少对我来说:)

请在类似问题中查看我的评论。

于 2012-08-22T10:23:16.373 回答
1

这取决于您的要求。您需要什么类型的实现。Java 1.6 版本提供了用于创建JAX-WS类型的 Web 服务的 API。但是,实际上它只是为了基本要求。如果您想要 ws-Security、ws-policy 等,请选择 Axis2。实际上,在 Axis2 中,他们从 Axis 1.x 版本中进行了很多改进。新的 STAX 实现就是其中之一。除此之外,Axis2 使服务创建部分变得更加容易。甚至,它们也支持 RESTful Web 服务。

于 2015-08-28T17:49:04.220 回答