如果您要利用 WebSphere 第 5 版執行時期將 Web 服務部署在 WebSphere 5.0 版伺服器中,且啟用了鎖定目標伺服器喜好設定, 但您的服務 Web 或 EJB 專案在由下而上的 Java Bean 或 EJB Web 服務實務中設為未指定伺服器目標,Web 服務精靈可能會出現這個錯誤:
從 Java 產生 WSDL 檔發生錯誤。
詳細資料:java.lang.ClassNotFoundException: com.ibm.ws.webservices.engine.encoding.SimpleType
當發生這個情況時,您會發現 Web 或 EJB 專案的 Java 建置路徑是空的,且「作業」視圖會出現錯誤:
這個編譯單元間接參照遺漏的 java.lang.Object 類型。
未建置專案,因為其類別路徑不完整。 找不到 java.lang.Object 的類別檔案
如果要暫時解決這個問題,請先執行下列動作:
- 停用鎖定目標 J2EE 伺服器喜好設定(依預設,會停用這個喜好設定),或
- 如果您必須啟用鎖定目標 J2EE 伺服器喜好設定,您必須建立您的服務 Web 或 EJB 專案和用戶端 Web 專案,並將它們的目標鎖定為 WebSphere Application Server 5.0 版
之後,再重新執行 Web 服務精靈。
如果啟用鎖定目標伺服器喜好設定且用戶端 Web 專案設為未指定伺服器目標, 或服務 Web 或 EJB 專案的鎖定目標伺服器設為 WebSphere Application Server 5.0 版,且您要 Web 服務精靈自動建立用戶端 Web 專案, 其他 Web 服務實務可能會出現類似的 Java 建置路徑空白問題。
您可以遵循上述暫行解決方法來避免這個問題,如果 Web 或 EJB 專案已出現 Java 建置路徑空白的情況, 您可以用滑鼠右鍵按一下專案,選取目標伺服器,再選取修改,以及選取另一個伺服器目標。 之後,您就可以回頭將伺服器目標改回 WebSphere Application Server 5.0 版。 當使用這個暫行解決方法時,您可以適當重設 Web 專案的 Java 建置路徑。
當您按一下 EJB Skeleton 精靈第一頁中的完成,但工作區中沒有現有的 EJB 專案時,會蹦現一則錯誤訊息。 如果要暫時解決這個問題,請進入下一頁,輸入有效的 EJB 專案名稱和路由器專案名稱。 另外,您也可以在於再次嘗試實務之前結束精靈和建立 EJB 專案。
如果您用滑鼠右鍵按一下 Web 服務精靈產生的 Proxy,請選取「Web 服務 -> 產生範例應用程式」,再選擇 Web 工具 Java Bean JSP 作為測試機能,並按一下「完成」, 當您試圖在產生的範例中執行方法時,可能會出現異常狀況。 發生這個情況是因為沒有排除 getEndPoint 和 setEndPoint 方法。 您可以在從蹦現功能表呼叫 Web 工具 Java Bean JSP 時,取消選取這兩個方法來暫行解決問題, 也可以選擇 Web 服務範例 JSP 或 Universal Test Client 作為測試機能。 另外,如果您使用 SOAP 執行時期,您可以從 Web 服務精靈呼叫 Web 工具 Java Bean JSP。
在供應鏈管理範例中,如果您需要變更預設埠 9080,您必須修改 SCM-Sample 物件中的 config.jsp 檔。這需要重新編譯。 由於建置路徑遺漏 webservices.jar,您必須在作業清單中找出 2 個編譯錯誤。 1.這個編譯單元間接參照遺漏的 javax.xml.rpc.ServiceException 類型; 2.無法解析匯入 javax.xml.rpc。如果要將 webservices.jar 加入 SCM-Sample 的建置路徑中,請選取「SCM-範例 -> 內容」,再選取「Java 建置路徑」,然後按一下「程式庫」標籤,按一下「新增變數」,選取 WAS_50_PLUGINDIR,按一下「延伸」,移至 lib,選取 webservices.jar,按一下「確定」,再按一下「確定」。
(C) Copyright IBM Corporation 2000, 2003. All Rights Reserved.