【问题标题】:Besides annotations, how do I distinguish JAX-WS from JAX-RPC?除了注解,如何区分 JAX-WS 和 JAX-RPC?
【发布时间】:2015-03-08 11:49:52
【问题描述】:

两个问题

关于JAX-WS和JAX-RPC的两个问题

  1. 除了注解,如何区分 JAX-WS 和 JAX-RPC?

  2. 我可以做哪些简单的 POC 来欣赏 JAX-WS 比 JAX-RPC 更好用? (除了 JAX-RPC 是旧版本的原因之外)。我已经阅读了有关 JAX-WS 及其优势的所有内容,但我发现它有助于弄清楚思考具体示例或简单的概念证明,这将证明它比 JAX-RPC 更好地使用它。

谁能帮忙?

【问题讨论】:

    标签: web-services jax-ws


    【解决方案1】:

    this one 涵盖了您的第一个问题。总而言之,JAX-RPC 存在描述符文件,因为它使用 XML 映射文档来描述编组/解组的基于反射的规则。

    至于您的第二个问题,我建议使用这两个框架编写相同的 HelloService Web 服务(提供程序)。我认为您会发现 JAX-WS 更容易,如果没有其他原因,只是查找教程文档。使用两个 Web 模块并按照教程创建相同的功能。

    看看两者的工件。还可以尝试添加复杂的 Java 类型作为输入或输出。请注意,JAX-RPC 无法自动将许多 WSDL/模式结构转换为 Java 等效项 - 一篇很好的并排比较文章(和系列)is here

    个人轶事 - 由于 JAXB 的基础,如果请求消息与 WSDL 有小的偏差(例如意外的输入元素等),JAX-WS 服务将更加宽容。为什么这很重要?版本控制和维护。使用 JAX-RPC,在不破坏 JAX-RPC 客户端应用程序的情况下使用新字段更新服务提供者要困难得多,反之亦然。

    规范时间

    我看到它提到 JAX-RPC 从 JavaEE 6 开始已被弃用。我没有看到具体的措辞(它被列为服务器实现者作为“建议的可选”;the PDF spec 表示如下:

    EE.12.2.3

    JAX-WS JAX-WS,以及 JAXB 和 Web 元数据 服务规范,提供更简单、更完整的支持 Web 服务比使用 JAX-RPC 技术可用。 使用 JAX-RPC 提供 Web 服务的应用程序应考虑 迁移到 JAX-WS API

    (强调我的)。

    JavaEE 7 spec 不仅将 JAX-RPC 列为可选(对于服务器实现者);它还将它包含在“修剪过的 Java 技术”列表中 - 在后续 JavaEE 规范版本中完全删除的候选者。

    这就是说:如果你是更好的规范,你就不会脱离 JavaEE 规范。

    【讨论】:

      猜你喜欢
      • 2011-03-19
      • 2012-10-14
      • 2016-08-23
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-26
      相关资源
      最近更新 更多