Metro vs Java的JAX-WS?

Arc*_*rci 28 java tomcat glassfish java-metro-framework jax-ws

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是一样的吗?

m3t*_*man 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的各种实现).

  • 哦谢谢!现在明白了.我知道这不是我的问题的一部分,但是当你说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的罐子,我会收到错误. (4认同)
  • @ m3th0dman你对SOAP与REST的评论是主观的.很多企业仍然使用SOAP.SOAP与REST与REST/JSON的使用在很大程度上取决于您所处的环境.这里没有好与坏. (3认同)
  • @Arci JDK包括JAX-WS API和JAX-WS API的Metro实现. (2认同)