【问题标题】:Suggestion for a web service framework for Java对 Java 的 Web 服务框架的建议
【发布时间】:2010-01-29 13:39:29
【问题描述】:

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

【问题讨论】:

    标签: java web-services soap


    【解决方案1】:

    我建议使用 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

    【讨论】:

      【解决方案2】:

      以下是常用的框架,都比较成熟:

      ​​>

      都支持 SOAP。

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

      【讨论】:

        【解决方案3】:

        Spring 框架将是这种需求的绝对赢家。 Spring 及其模块,包括 spring security、spring webservices 使其非常适合这个模块。

        【讨论】:

          【解决方案4】:

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

          【讨论】:

          • Axis 太烂了,我不明白为什么人们一直在建议它。
          • 如果您花一点时间解释为什么您认为 Axis 如此糟糕,您的评论会更有价值和相关。
          • @Jim 我已在我的答案中添加了详细信息以涵盖此问题。
          【解决方案5】:

          我同意 Spring-WS 选项。我曾多次使用它,它很快成为我的网络服务选择,除非有其他因素明确排除它。

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

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

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

          3. 在端点中使用注释。

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

          【讨论】:

            【解决方案6】:

            我会使用 Java 提供的那个。

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

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2013-10-27
              • 2011-06-11
              • 2010-10-31
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多