Java的JAX-WS和Metro有什么区别?它们是相同的还是两个不同的JAX-WS实现?
根据我的研究,JAX-WS已经成为JDK 6的一部分。但是,JAX-WS并未随附JDK的标准捆绑包,因此我寻找了Java EE jar。但是,Oracle似乎没有托管已编译的Java EE jar,而是提供了作为Java EE服务器的Glassfish。
我能够在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是否相同?
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的各种实现)。