【问题标题】:difference between java (jax-ws) web service and .net web service?java (jax-ws) web 服务和.net web 服务之间的区别?
【发布时间】:2009-09-23 05:47:41
【问题描述】:

很抱歉提出这么幼稚的问题,但谁能向我解释一下 Java Web 服务 (jax-ws) 和 .Net Web 服务行为之间的区别?

【问题讨论】:

    标签: java .net web-services


    【解决方案1】:

    由于“网络服务”一词的含义略有不同,我假设我们谈论的是它的W3C definition

    这个定义基本上定义了规范:WSDL 和 SOAP。此外,还有许多称为 WS-* 的其他规范定义了 WSDL 和 SOAP 用于特殊目的(例如安全性)的特殊用法。

    Java 和 .NET 都尝试实现符合这些规范的 Web 服务引擎。由于这些规范相当复杂,因此都会出错。此外,提供互操作性的目标并未完全实现。例如,SOAP 规范定义了一个可选的SOAPAction HTTP header,它在 JAX-WS 中没有使用,但在 .NET 中是必需的(不知道当前版本是否仍然如此)。

    所以Metro(Metro 是使用 JAX-WS 的 Web 服务引擎)网站提到了与 .NET 的常规互操作性测试

    顺便说一句,JAX-WS 是 specification 的名称,也是 reference implementation 的名称。

    【讨论】:

    • 所以互操作性问题仅与您提到的安全性等特殊 Web 服务规范有关?但不是基本的 Web 服务方法调用,对吗?
    • 如果双方都遵守规范,应该没有互操作性问题。
    • 我知道如果双方都遵守规范应该没有问题。我也理解双方都没有遵守所有规范,所以我的问题是,究竟是什么导致了互操作性问题?
    【解决方案2】:

    理想情况下,网络服务的理念是不让您有机会提出这样的问题。 :)

    【讨论】:

      【解决方案3】:

      客户端不应该能够区分使用任何一种技术实现的 Web 服务,或者使用任何其他技术。 Web 服务的承诺是它们应该可以跨许多平台进行互操作,并且服务提供者可以使用他们喜欢的任何技术,因此 Java 商店会使用 Java,例如 JAX-WS,而 .NET 会使用他们的技术——客户只是不这样做'不在乎,他们使用 WSDL。

      当我们摆脱基本的 SOAP/HTTP Web 服务并使用安全、事务、消息传递等标准(整个 WS-* 空间)时,事情会变得更加有趣。理想情况下,实现透明度仍然是正确的,但您不能指望任意实现者支持您想做的事情。 WS-I 组织及其参与的供应商做了大量工作来确保互操作性,因此即使对于这些更高级的 WS-* 标准来说,情况也不错。

      【讨论】:

        【解决方案4】:

        小心,wcf 与 Metro 相比,jax-ws 只是基础知识,而不是所有 ws* 的东西。

        Metro和WCF实现了互操作标准wse 3。可以通过xml相互通信没有任何问题,只是你不知道服务是基于.net还是基于java。

        问候

        【讨论】:

          猜你喜欢
          • 2012-08-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2014-10-22
          • 1970-01-01
          • 1970-01-01
          • 2012-03-19
          相关资源
          最近更新 更多