2015-04-04 47 views
0

我已經閱讀了很多關於在不同的servet容器上部署JAX-WS的公共論壇上發佈的帖子,我基於這個問題提出了以下問題/疑問。JAX-WS和sun-jaxws.xml

以下是我的理解:

1)sun-jaxws.xml只需要由Sun的RI(地鐵項目),因爲com.sun.xml.ws.transport.http.servlet.WSServletContextListener類都需要它。 (看這個類的源代碼,它從硬編碼位置讀取這個文件)。

2)如果servlet容器不Java EE 5 compliant.

3)像Jboss , GlassFish不同的應用服務器可以使用自己的JAX-WS實現(像Apache CXF,Metro

這也是必需的,這樣我的問題是:

1)如果我在Java EE 5容器(如JBoss或GlassFish)上使用Sun的RI(metro),是否還需要使用sun-jaxs.xml? 2)如果我在Java EE 5容器(如Jboss)上開發JAX-WS Web服務,它可以移植到另一個Java EE 5容器(如GlassFish)。我的意思是我可以將戰爭部署到另一個集裝箱上嗎?

請幫我理清上面的問題,因爲我對Sun的RI和sun-jaxws.xml描述符的用法非常困惑。

回答

1

應用程序服務器擁有自己的Web服務客戶端框架。你可以認爲這些就像jaxws。將應用程序部署到應用程序服務器默認選項應用程序服務器時,請使用自己的框架進行Web服務調用因此,如果服務器需要像sun-jaxws.xml這樣的配置文件,則必須將其放入相關目錄。但我不認爲你需要它。

第二個選項是配置應用服務器以使用您的第三部分jax-ws庫。這是一個額外的選擇。例如我在WAS中製作。因此,當你選擇這個選擇,你必須使用sun-jaxws.xml

希望我已經在我的回答中已經清楚:)

+0

感謝您的回答。因此,如果我理解正確,每個應用程序服務器(兼容Java EE 5)都會爲JAX-WS使用其自己的參考實現。如果我們想使用任何第三方庫,請做額外的配置。你在地鐵上使用過嗎?這是否需要您使用sun-jaxws.xml? – Atul 2015-04-11 10:35:46

+0

是的,我用過。對於部署它是必需的。但我使用jax ws 2.2.8,metro庫是擴展版本。 – aluz 2015-04-11 12:27:34