使用Axis2或Java Web服务的Web服务(JAX-WS)

时间:2012-08-13 16:03:01

标签: web-services java-ee jax-ws axis2

我正在开发一个Java EE项目,需要将Web服务合并到外部源或从外部源接收数据。我不确定走哪条路,Axis2或JAX-WS。

任何建议都将受到赞赏。

3 个答案:

答案 0 :(得分:7)

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

  • The JAX-WS reference implementation是Java的一部分,提供基本支持,包括WS-Addressing,但不提供WS-ReliableMessaging或WS-Security。最大的优点是使用RI无法获得额外的依赖关系。
  • Another option is Axis2,也为这些标准提供支持。据我所知,Axis2的使用正在下降,个人而言,我发现它很难使用(这基本上是一种意见,我不想开始一场火焰战)。
  • 我建议考虑a third option: CXF。它是Web服务堆栈的另一种实现,支持与Axis2大致相同。我发现它很容易设置和使用,并且个人更喜欢Axis2。
  • One more option is Metro。 Metro捆绑了JAX-WS参考实现和Web服务互操作性技术(WSIT)。 WSIT为更多标准提供了实现,并且已经过调整以提供与WCF的互操作性。

Here is an article将这些堆栈与更多细节进行比较。我的建议是:如果你只需要基本的东西(没有可靠的消息,安全性等),请使用参考实现。如果您需要其他标准支持,请选择CXF或Metro。

答案 1 :(得分:1)

地铁是要走的路!至少对我来说:))

请在类似问题中查看我的comment

答案 2 :(得分:1)

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