Sun Java System Application Server 9.1 Update 1-9.1 Update 2 版本說明

Web 服務

本節說明已知的 Web 容器問題以及相關的解決方案。

Ant 作業 wsimport 無法用於 Java EE SDK b33d (使用 JDK 1.6),出現 NoClassDefFoundError (6527842)

說明

您可能會在透過 Java EE SDK b33d 隨附的 JDK 1.6 執行 JAX—WS 測試時遇到問題。測試會立即中斷,並出現以下訊息:


[wsimport] Exception in thread "main" java.lang.NoClassDefFoundError: \
com/sun/tools/ws/WsImport

即使 webservices-tools.jar 不包含 com/sun/tools/ws/WsImport.classcom/sun/tools/ws/ant/WsImport.classcom/sun/tools/ws/ant/WsImport2.class,也會出現此錯誤。而且,使用 1.5.0-10 JDK 時,相同的測試工作區便會正常工作,不出現任何問題。

解決方案

在執行 JAX-WS 測試之前,將 webservices-api.jar 複製到 $JAVA_HOME/jre/lib/endorsed

publish-to-registry 指令在 IFR EE 建置中無法使用 (6602046)

說明

JAXR 使用 SAAJ 將 SOAP 訊息傳送至登錄。在非 IFR 情況下,SAAJ impl 類別位於 lib/webservices-rt.jar 下。在 IFR 情況下,SAAJ 類別仍位於 lib/webservices-rt.jar 下。此外,saaj-impl.jar 位於 /usr/share/lib 目錄中。此 jar 檔案由 Application Server 挑選,其優先順序高於 webservices-rt.jar 中的類別。此 jar 檔案不具有將 SOAP 訊息傳送至 Web 服務登錄所需的必要安全性許可權。應該將封裝修改為將許可權授予 /usr/share/lib 目錄下的 jar,或者修改為與 /usr/share/lib jar 無關。

解決方案

server.policy 檔案增加以下內容︰


grant codeBase "file:/usr/share/lib/saaj-impl.jar" {
   permission java.security.AllPermission;
};

在 JDK6 u4 b3 上 wscompile 失敗,並出現「package javax.xml.rpc does not exist」的訊息 (6638567)

說明

在 JDK 6 Update 4 上,針對 Java EE SDK 9.1 Update 1 的 wscompile ant 作業失敗。對於每個 JAX-RPC API 類別,會顯示以下錯誤訊息:


package package-name does not exist

解決方案

在執行 wscompile ant 作業之前,請確認在類別路徑中已指定 javaee.jar,而 j2ee.jar