建议Java的Web服务框架

时间:2010-01-29 13:39:29

标签: java web-services soap

我想要一个开源的Web服务框架&免费用于商业用途,安全也是一个主要问题。请使用SOAP标准建议Java的Web服务框架。

6 个答案:

答案 0 :(得分:12)

我建议使用JAX-WS:JAX-WS RI(属于Metro的一部分)或Apache CXF。从运行时的角度来看,两者都非常接近,但很多人发现CXF有更好的文档(可能是一个重要的标准)。如果这对你很重要,它们都提供与Spring的集成(实际上,体面的框架不能忽略Spring,所以这不是一个惊喜)。

Spring-WS是另一种选择,但不符合JAX-WS,只支持契约优先方法(来自XSD) - 这是一种哲学选择 - 并且不支持许多WS- *标准(你可以虽然不需要。)

在任何情况下,我都会远离Axis 2及其糟糕的部署架构和打包地狱(Axis 2 webapp本身就是一个需要打包在特定档案中的Web服务容器)。我发现它完全适得其反。最重要的是,它甚至不perform really well

答案 1 :(得分:5)

以下是常见的框架,都非常成熟:

所有支持SOAP。

我使用过CXF和Spring-WS。两者都易于配置和使用。

答案 2 :(得分:2)

Spring框架将成为这种要求的明确赢家。 Spring及其模块包括弹簧安全,弹簧网络服务使其适合这一个。

答案 3 :(得分:1)

看看Axis。它非常简单易用。 http://ws.apache.org/axis/

答案 4 :(得分:1)

我同意Spring-WS选项。我已经在不同的时间使用它,它很快成为我的网络服务选择,除非有其他因素明确排除它。

虽然这稍微偏离主题,但如果您处于计划阶段,我会提出以下建议。

  1. 选择自上而下的方法。 Spring-WS肯定支持这个(它是首选的方法)。这样,如果您对底层代码进行更改,则无需担心意外更新WSDL。此外,在设计时,您可以将WSDL视为接口点,而不是通过其他详细的文档。

  2. 使用JAXB生成请求/响应对象。从长远来看,这更容易,并且肯定有助于确保您按照WSDL的要求进行编码(很多次我查看生成的对象,看到它们看起来不正确,只是发现我已经修改过WSDL不正确)。

  3. 在终端中使用注释。

  4. 这些是要点。祝你好运: - )。

答案 5 :(得分:0)

我会使用Java提供的那个。

http://java.sun.com/webservices/docs/2.0/tutorial/doc/