Java(JAX-WS)Web服务和.NET Web服务之间的区别是什么?

4
很抱歉问一个这么幼稚的问题,但有人能解释一下Java Web服务(jax-ws)和.Net Web服务行为之间的区别吗?
4个回答

2
理想情况下,Web服务的概念是不给你留下这样的问题的机会。 :)

2
由于术语“Web服务”有稍微不同的含义,我假设我们正在谈论它的W3C定义。
该定义基本上定义了两个规范:WSDL和SOAP。此外,还有一堆其他规范,称为WS- *,用于特殊用途(例如安全),定义了对WSDL和SOAP的特殊使用。
Java和.NET都试图实现符合这些规范的Web服务引擎。由于这些规范相当复杂,两者都会犯错误。此外,提供互操作性的目标并未完全实现。例如,SOAP规范定义了一个可选的SOAPAction HTTP头,在JAX-WS中没有使用,但在.NET中是必需的(不知道这是否仍然适用于当前版本)。
因此,Metro(Metro是使用JAX-WS的Web服务引擎)网站提到了与.NET的常规互操作性测试。
顺便提一下,JAX-WS 是规范的名称,也是其参考实现

因此,互操作性问题只涉及特殊的 Web 服务规范,比如您提到的安全性问题?而不是基本的 Web 服务方法调用,对吗? - Muhammad Gelbana
如果双方都遵守规范,就不应该出现互操作性问题。 - wierob
我理解如果双方都遵守规范,就不应该有任何问题。我也知道双方都没有完全遵守规范,所以我的问题是,到底出现了什么互操作性问题? - Muhammad Gelbana

0

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

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


0

小心点,WCF相比Metro更好,jax-ws仅具备基础功能,不包含全部的ws*相关内容。

Metro和WCF都实现了一个互操作标准wse 3,并且可以通过xml进行无障碍的通信,只是你不知道服务是基于.net还是java的。

祝好!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接