28

Java 的 JAX-WS 和 Metro 有什么区别?它们是相同的吗?它们是两个不同的 JAX-WS 实现吗?

根据我的研究,JAX-WS 已经是 JDK 6 的一部分。但是,JAX-WS 没有附带 JDK 的标准捆绑包,所以我寻找了一个 Java EE jar。但是,Oracle 似乎没有托管已编译的 Java EE jar,而是提供了 Glassfish,它是一个 Java EE 服务器。

我能够在 Glassfish 上运行我的网络服务。Glassfish 使用什么 JAX-WS 实现?由于它托管在 Oracle 上,我假设它正在使用 Java 的 JAX-WS 实现,这应该是 JDK 1.6 的一部分?我的假设是否正确?此外,要运行基于 JAX-WS 的 Web 服务,我需要下载 JAX-WS jar。我找到了地铁。但是在它的页面上,我看到 Metro 的链接是 Glassfish 的子链接。所以我现在很困惑。Glassfish 使用 Metro 吗?还是 Glassfish 使用 Java 的 JAX-WS?

Metro 和 Java 的 JAX-WS 是否相同?

4

2 回答 2

29

JAX-WS 是一个 API,而 Metro 是 JAX-WS API 的参考实现;两者都来自 Sun/Oracle,因此是标准的。您可以将它们视为一个接口 (JAX-WS) 和一个实现该接口的类 (Metro),只是在更高级别。Glassfish 还使用 Metro 作为 JAX-WS 的实现。

需要注意的是,Metro 包含 JAXB 和其他 API 的实现。

此外,SOAP Web 服务在某种程度上已经过时了。新趋势是使用 REST Web 服务;JAX-RS(具有从标准 Jersey 到 Restlet 或 CXF 的各种实现)。

于 2012-10-01T09:03:26.343 回答
2

根据Metro 的主页,“ Metro 由JAX-WS参考实现项目和 Web 服务互操作性技术项目组成。

Web 服务互操作性技术 (WSIT)(以前称为 Project Tango)包括以下实现:

  • 基于 TCP 的 SOAP
  • WS-AtomicTransactions/协调
  • WS-元数据交换
  • WS-Policy ( https://github.com/javaee/metro-policy )
  • WS-ReliableMessaging
  • WS-SecureConversation
  • WS-安全
  • WS-SecurityPolicy
  • WS-Trust

查看此答案以获取更多信息。

于 2017-08-02T15:43:34.983 回答