【问题标题】:Metro vs Java's JAX-WS?Metro 与 Java 的 JAX-WS?
【发布时间】:2012-09-22 02:58:59
【问题描述】:

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。但是在它的页面上,我看到 Metro 的链接是 Glassfish 的子链接。所以我现在很困惑。 Glassfish 使用 Metro 吗?还是 Glassfish 使用 Java 的 JAX-WS?

Metro 和 Java 的 JAX-WS 是一样的吗?

【问题讨论】:

  • 这个问题被浏览了 400 多次,甚至没有一次被投票!一个大的 FAT +1 !!

标签: java tomcat glassfish jax-ws java-metro-framework


【解决方案1】:

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 的各种实现)。

【讨论】:

  • 感谢您的回答!那么 JDK 1.6 中包含的是什么?它只是一个 API 还是 JAX-WS 实现?
  • @Arci JDK 包括 JAX-WS API 和 JAX-WS API 的 Metro 实现。
  • 哦...谢谢!现在明白了。我知道这不是我问题的一部分,但是当您说 JDK 时,这并不意味着它包含所包含类的实现,对吧?因为我在 JDK 1.6 下的 Eclipse 上运行 Tomcat,但我仍然需要在 Tomcat 上包含 JAX-WS jar 才能运行基于 JAX-WS 的 Web 服务。如果 JAX-WS API 和 Metro 实现都已经包含在 JDK 1.6 中,那么为什么我还需要添加 JAX-WS jar?如果我不在 Tmocat 上添加 Metro 的 jar,我会收到错误消息。
  • @Arci 那是因为 Tomcat 没有 JAX-WS 的实现(如 Glassfish);您需要将这些库包含在 Tomcat 库文件夹中,以便 Tomcat 可以直接使用它们。
  • @m3th0dman 您对 SOAP 与 REST 的评论是主观的。许多企业仍在使用 SOAP。 SOAP vs. REST vs. REST/JSON 的使用很大程度上取决于您所处的环境。这里没有好与坏。
【解决方案2】:

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

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

  • 基于 TCP 的 SOAP
  • WS-AtomicTransactions/协调
  • WS-MetadataExchange
  • WS-Policy (https://github.com/javaee/metro-policy)
  • WS-ReliableMessaging
  • WS-SecureConversation
  • WS-安全性
  • WS-SecurityPolicy
  • WS 信任

查看此answer 以获取更多信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-19
    • 1970-01-01
    • 2012-03-26
    • 1970-01-01
    相关资源
    最近更新 更多