此規則會根據下列準則,偵測 JAX-RPC Web 服務是否存在:
- 存在 web-services.xml 檔
- 相同資料夾中存在 weblogic-webservices.xml 檔和 webservices.xml 檔
手冊解決方案
要根據 WebLogic J2EE Web 服務部署描述符產生 JAX-RPC Web 服務,您必須使用特定任務手動建立 Ant script。 IBM® Ant 任務。 如果 IBM Ant - 生成的檔案尚未存在,則應將該腳本新增到專案的根目錄。 這些任務將 處理從部署描述符產生的 JAX-RPC 網路服務。
規則內容
您必須為規則屬性提供正確的值,以確保在分析過程中得到準確的結果。 這些屬性應該根據您的應用程式內容來檢閱和 應根據應用程式的上下文適當地設定。 此規則的內容為:
- 產生的 Ant Script 名稱:
指定新產生的 Ant 腳本的名稱。 腳本名稱必須是有效的檔案名稱。 名稱必須是有效的檔案名稱。 該值不得包含任何正反斜線。 腳本會放在專案的根目錄中。
預設值:build-ibm-ws.xml
- 產生資料夾名稱:
指定產生構件所在的資料夾的名稱。該值不得包括任何正斜線或反斜線。 產生資料夾將位於專案的根資料夾內。
預設值:ibm-ws-gen
Ant 類別路徑
Ant 類別路徑從 Eclipse 專案進行計算。
驗證編譯所需的所有元素是否位於 Eclipse 類別路徑上,非常重要。
定義於 web-services.xml 檔的 JAX-RPC 服務
根據定義於 web-services.xml 中的資訊和服務類型,會產生 Ant Script,並可能會產生用於代表 Web 服務端點介面的其他 Java 程式碼,以重新產生 JAX-RPC 服務。
- 支援的元件
只能辨識和轉換 Stateless Session Enterprise Bean (<stateless-ejb>) 和 Java® (<java-class>) 元件。
- Stateless EJB 元件:
Enterprise JavaBeans (TM) (EJB) JAR 檔案,如在 <ejb-link> 元素中定義的 JAR 檔案,必須存在於專案中。 自動修復將 掃描 EJB JAR 檔案,並根據 EJB 遠端類別產生新的服務端點介面 (SEI) (SEI) 類別。
SEI 介面不同於 EJB 遠端介面,因為類別必須延伸
java.rmi.Remote
,且每一個方法都必須擲出異常狀況,
java.rmi.RemoteException
.
自動修復將在 EJB 上使用 Java 反射 遠端介面來產生新的 SEI 。
因此,請確保您的 Eclipse 專案 classpath 包含 所有必要的類別、JAR 檔案和目錄。 以成功載入 EJB 遠端類別。
SEI 必須在使用者在規則中提供的 使用者在規則中提供的生成資料夾中。 properties. SEI包與EJB遠端介面包相匹配,SEI名稱也會與EJB遠端介面名稱相同。 SEI 包與 EJB 遠端介面的包相符,而 SEI 的名稱將會與 EJB 遠端介面的名稱相同。 此外,新的 SEI 資料夾 會新增到專案類別路徑中。
- Java 類別元件:
類似於 EJB 元件,自動修復將產生服務端點介面 從屬性 <class-name> 中定義的 Java 類產生。
- 產生的 Ant 目標:
生成的 Ant 脚本包含目标 產生 WSDL 檔案和 JAX-RPC 服務的目標。 將被建立。
WSDL 產生目標將具有名稱 genWSDL_ssss,其中 ssss 是 <web-service> 元素之名稱 屬性欄位中提供的 JAX-RPC 服務名稱。
服務產生目標將具有名稱 genService_pppp,其中 pppp 是 <stateless-ejb> 或 <java-class> 元素之名稱 屬性中提供的元件名稱。
自動修正將不會使用其他元素中提供的資訊,例如 在其他元素中提供的資訊,例如 <處理程式鏈>、<類型>、 <操作>、<安全性> 等。
定義於 webservices.xml 檔的 JAXRPC 服務
根據定義於 webservices.xml 檔的資訊和服務類型,會產生 Ant Script,以重新產生 JAX-RPC 服務。
- 產生的 Ant 目標:
產生的 Ant Script 包含目標,以產生 WSDL 檔和 JAX-RPC 服務。
WSDL 生成目標僅在下列情況下生成 元素中定義的 WSDL 檔時,才會產生 WSDL 生成目標、 <wsdl-file>。
如果建立了 WSDL 產生目標,則它將具有名稱 genWSDL_ssss,其中 ssss 是由 <webservice-description-name> 元素定義的服務名稱。
服務產生目標將具有名稱 genService_pppp,其中 pppp 是由 <port-component-name> 元素定義的埠名稱。
IBM WebSphere Application Server Ant 作業
WebSphere® Application Server 包括 Ant 作業(例如,java2wsdl 和 wsdl2java),以便為 JAX-RPC 服務產生必要的構件。 產生的 Ant Script 使用這些作業來建置服務。
如需這些作業的相關資訊,請參閱
WebSphere Application Server 說明文件。
執行 Ant Script
製作 Ant 腳本後,請檢視該腳本,並在必要時增加其他自訂功能。
請參閱應用程式伺服器說明文件,以瞭解 IBM Ant 作業的其他自訂作業。
您必須使用 WebSphere Application Server 隨附的 Ant
工具來執行 Script。 IBM Ant Script
可以從下列位置執行:
- WAS_HOME\bin\ws_ant.bat(在 Windows® 作業系統上)
- WAS_HOME\bin\ws_ant.sh(在 UNIX® 作業系統上)
範例:c:\IBM\AppServer\bin\ws_ant.bat -f
c:\eclipse\MyProject\ibm-ws-gen.xml genService_TestService
執行 Ant 目標之後,產生的構件位於產生資料夾中。然後,使用者可以檢查產生的程式碼和部署描述子,並將這些構件新增至它們的模組中。