两个问题
有关JAX-WS和JAX-RPC的两个问题
除注释外,如何区分JAX-WS和JAX-RPC?
我可以做些什么简单的POC来欣赏JAX-WS比使用JAX-RPC更好? (除了JAX-RPC是旧版本的原因)。我已经阅读了所有关于JAX-WS及其优点的内容,但我发现它可以用来思考具体的例子或简单的概念证明,证明它比JAX-RPC更好地使用它。
有人可以帮忙吗?
答案 0 :(得分:0)
this one涵盖了您的第一个问题。总而言之,JAX-RPC存在描述符文件,因为它使用XML映射文档来描述marshal / unmarshal的基于反射的规则。
至于你的第二个问题,我建议使用两个框架编写相同的HelloService Web服务(提供者)。我认为如果没有其他原因找到教程文档,你会发现JAX-WS更容易。使用两个Web模块并按照教程创建相同的功能。
看看两者的文物。还尝试添加复杂的Java类型作为输入或输出。请注意,JAX-RPC无法自动将许多WSDL /模式构造转换为Java等价物 - 这是一个很好的并排比较文章(和系列)is here。
个人轶事 - 由于JAXB的基础,如果请求消息与WSDL的偏差很小,例如意外的输入元素等,JAX-WS服务将更加宽容。为什么这很重要?版本控制和保养。使用JAX-RPC,在不破坏JAX-RPC客户端应用程序的情况下使用新字段更新服务提供程序要困难得多,反之亦然。
规范时间
我已经看到它提到JAX-RPC从JavaEE 6开始就被弃用了。我没有特别看到这个措辞(它被列为服务器实现者的#34;建议可选&#34 ;; the PDF spec说以下内容:
EE.12.2.3
JAX-WS JAX-WS,以及JAXB和Web的元数据 服务规范,提供更简单,更完整的支持 使用JAX-RPC技术的Web服务。 应考虑使用JAX-RPC提供Web服务的应用程序 迁移到JAX-WS API 。
(强调我的)。
JavaEE 7 spec列出JAX-RPC不仅是可选的(对于服务器实现者);它还将其包含在修剪过的Java技术列表中。 - 在后续JavaEE规范版本中直接删除的候选者。
所有这一切要说:如果您的规格更好,那么您将无法从JavaEE规范中获益。