2010-08-11 33 views
8

對不起,他的新手問題。但我真的需要從這個開始。 我想訪問我的Java EE項目中的Web服務。這個webservice提供了一個WSDL文件。所以我明白我可以使用它從它構建Java代碼來訪問Web服務。 現在我讀到Apache CXF是一個很好的框架,我可以使用。但是JAX-WS有什麼不同?Web服務:JAX-WS,CXF,WSDL ......這是什麼意思?

難道有人請給我解釋一下嗎?

回答

12

JAX-WS是一個規範(由 Sun提供) Oracle)通過使用註釋來定義Web服務。

的Apache CXF是實現JAX-WS生成Web服務定義和Java代理(從Web服務定義)

Apache Axis的2也是,現在支持JAX-WS(最多JAX框架的框架-WS 2)。這是來自Apache Axis的改進。 CXF最多支持JAX-WS 1.2。

簡要教程可以找到here

5

JAX-WS是一個API(或規範),CXF是該API的實現。還有一個參考實現可用here

+3

Apache CXF對關係有類似的解釋:[爲什麼CXF](http://cxf.apache.org/docs/why-cxf.html) – 2010-08-11 11:00:43

1

其他答案是正確的,但是對於CXF或Metro,您將獲得實現Web服務堆棧,並且這些是JAX-WS API之外的額外功能。這就是爲什麼JAX-WS RI還有比JAX-WS更多的功能。

我認爲這篇文章詳細解釋了這一點。

http://www.predic8.com/axis2-cxf-jax-ws-comparison.htm

3

CXF是好的,但你並不需要它來解決你的問題。您可以使用wsimport(作爲JDK的一部分)來從WSDL生成類以訪問Web服務。