Java的JAX-WS和Metro有什么区别?它们是两个不同的JAX-WS实现相同吗?
根据我的研究,JAX-WS已经是JDK 6的一部分。但是,JAX-WS没有标准的JDK包,所以我找了一个Java EE jar。但是,似乎Oracle不承载已编译的Java EE jar,而是提供Glassfish作为Java EE服务器。
我能够在Glassfish上运行我的Web服务。 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是一样的吗?
答案 0 :(得分:28)
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的各种实现)。
答案 1 :(得分:0)
支持Metro's home page," Metro包含JAX-WS参考实施项目和Web服务互操作性技术项目。"
Web服务互操作性技术(WSIT)(以前称为Project Tango)包括以下实现:
请查看此answer以获取更多信息。