抱歉他的新手问题。但我真的需要从这个开始。 我想访问我的Java EE项目中的Web服务。此Web服务提供WSDL文件。所以我理解我可以用它来构建Java代码来访问Web服务。 现在我读到Apache CXF是一个很好的框架我可以使用。但是JAX-WS有什么区别?
有人可以向我解释一下吗?
答案 0 :(得分:12)
JAX-WS是一个规范(由 Sun Oracle提供),用于通过使用Annotations定义Web服务。
Apache CXF是一个实现JAX-WS以生成Web服务定义和Java代理(来自Web服务定义)的框架
Apache Axis 2也是一个现在支持JAX-WS的框架(直到JAX-WS 2)。这是Apache Axis的改进。 CXF最多支持JAX-WS 1.2。
可以找到简要教程here。
答案 1 :(得分:5)
JAX-WS是API(或规范),CXF是该API的实现。还有一个参考实现here
答案 2 :(得分:3)
CXF很好但你不需要它来解决你的问题。您可以使用wsimport作为JDK的一部分,从WSDL生成类以访问Web服务。
答案 3 :(得分:1)
其他答案是正确的,但是使用CXF或Metro,您将获得一个实现Web服务堆栈,这是JAX-WS api之外的额外功能。这就是为什么JAX-WS RI还有比JAX-WS更多的功能。
我认为这篇文章非常详细地解释了这一点。