此規則標記任何 JAX-RPC 特定套件和組態的使用:
套件 |
配置檔 |
|---|---|
|
|
在 Liberty 或 Liberty Core 中不支援 Java API for XML-based RPC (JAX-RPC)。 此技術在 WebSphere Application Server 9.0 版中已淘汰,在更新版本中可能會移除。 策略移轉路徑是使用 JAX-WS。 相對工作將根據選擇的移轉路徑而變更:
下表根據可能影響您專案的因素比較五種選項。
專案因素 |
選項 1使用 JAX-RPC 來源遷移輔助工具將 JAX-RPC 網路服務遷移至 JAX-WS 網路服務 |
選項 2使用「JAX-RPC 轉換」工具將 JAX-RPC Web 服務移轉至 JAX-WS Web 服務 |
選項 3手動將 JAX-RPC Web 服務移轉至 JAX-WS Web 服務 |
選項 4在 Liberty 中使用 Apache Axis 1 JAX-RPC 引擎 |
選項 5將 WebSphere Application Server Traditional 與其原生 JAX-RPC 引擎搭配使用 |
|---|---|---|---|---|---|
|
支援的解決方案 |
是 Liberty Core 以外的所有 Liberty 版本都支援 JAX-WS 作為可配置的特性 。 |
是 Liberty Core 以外的所有 Liberty 版本都支援 JAX-WS 作為可配置的特性 。 下載用於 Maven 和 Gradle 的 WebSphere Liberty JAX-RPC 轉換工具。 |
是 Liberty Core 以外的所有 Liberty 版本都支援 JAX-WS 作為可配置的特性 。 |
否 不支援 Axis 1。 |
是 在 WebSphere Application Server Traditional 中支援 JAX-RPC。 |
|
策略性解決方案 |
是 JAX-WS 在策略上適用於 Liberty Core 以外的所有 Liberty 版本。 |
是 JAX-WS 在策略上適用於 Liberty Core 以外的所有 Liberty 版本。 |
是 JAX-WS 在策略上適用於 Liberty Core 以外的所有 Liberty 版本。 |
否 不再開發 Axis 1。 |
否 JAX-RPC 在 WebSphere Application Server Traditional 中已淘汰,在更新版本中可能會移除。 |
|
實作複雜性 |
中 應用程式已通過使用 JAX-RPC 來源遷移輔助程式的驗證。 JAX-RPC 服務可以 轉換為 JAX-WS 網路服務。 |
低 已驗證應用程式是否使用「JAX-RPC 轉換工具」。 JAX-RPC 服務可透過此工具將 轉換為二進位歸檔中的 JAX-WS 網路服務。 |
高 如果是大量 JAX-RPC 用戶端和 Web 服務,此選項會很複雜。 如果不使用「JAX-RPC 轉換」工具來將 JAX-RPC 服務 透過埠連接至 JAX-WS,則需要對程式碼庫進行許多變更。 |
低 如果應用程式已經使用 Axis 1,此選項不會複雜。 否則,此選項為中複雜度。 |
中 將 JAX-RPC Web 服務移轉至不同的引擎可保留大部分的程式碼庫。 |
|
進階特性 |
是 JAX-WS 提供了許多進階特性,如「註釋」、「JAXB 連結」和 SOAP 1.2。 |
是 JAX-WS 提供了許多進階特性,如「註釋」、「JAXB 連結」和 SOAP 1.2。 |
是 JAX-WS 提供了許多進階特性,如「註釋」、「JAXB 連結」和 SOAP 1.2。 |
否 JAX-RPC 缺少許多 JAX-WS 中的進階特性。 |
否 JAX-RPC 缺少許多 JAX-WS 中的進階特性。 |
|
規格標準 |
是 |
是 |
是 |
是 雖然 JAX-RPC 仍然是 Java EE 規格的一部分,但將於 Java EE 6 淘汰。 |
是 雖然 JAX-RPC 仍然是 Java EE 規格的一部分,但將於 Java EE 6 淘汰。 |
|
建議 |
如果您享有 IBM Application Modernization Accelerator Developer Tools ,請使用此選項。 這是唯一提供自動化協助的選項,可將應用程式原始碼遷移至 JAX-WS。 |
如果應用程式符合「JAX-RPC 轉換」工具的需求,請使用這個選項。 此工具僅 轉換二進位存檔。 |
如果有 JAX-RPC Web 服務,且應用程式不符合「JAX-RPC 轉換」工具的需求,請使用這個選項。 |
如果 JAX-RPC Web 服務已在 Axis 1 上執行,請使用此選項。 |
如果 JAX-RPC Web 服務已在 WebSphere Application Server Traditional 上執行,或是有許多 JAX-RPC Web 服務尚未在 Axis 1 上執行,請使用此選項。 |
JAX-RPC 來源遷移輔助程式可在 IBM Application Modernization Accelerator Developer Tools。 此工具將協助應用程式原始碼中的傳統 JAX-RPC 服務轉換為 JAX-WS。 如需詳細資訊,請參閱 Application Modernization Accelerator Developer Tools 概述。
從以下網址下載 JAX-RPC 轉換工具 WebSphere Liberty JAX-RPC Conversion Tool for Maven 和 Gradle 遷移二進位歸檔。
如需使用「JAX-RPC 轉換」工具將應用程式從 JAX-RPC 移轉至 JAX-WS 的相關資訊,請參閱線上文件中的 使用 Maven 將 JAX-RPC 應用程式移轉至 Liberty 或 使用 Gradle 將 JAX-RPC 應用程式移轉至 Liberty 。
如需將應用程式從 JAX-RPC 移轉至 JAX-WS 的相關資訊,請參閱線上文件中的 Web 服務移轉實務 :JAX-RPC 至 JAX-WS 和 JAXB。
如需 JAX-RPC 和 JAX-WS 之間差異的相關資訊,請參閱 JAX-WS 應用程式部署模型。
如果您已使用 Axis 1,若要在 Liberty 中使用它,您必須將 Axis 1 程式庫併入 Liberty 類別路徑中。
如果您使用內嵌的 JAX-RPC,您可以將 Web 服務轉換成使用 Axis 1。 下列程序說明如何將 Web 服務從 Red Hat JBoss 移轉至 Axis 1。
java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t java -cp <AXIS LIBRARIES> org.apache.axis.wsdl.WSDL2Java -t -s -o <Output directory> <WSDL file>
如需此指令的相關資訊,請參閱 Apache 網站上的 WSDL2Java 參照 。
如需 WSDD 配置元素的相關資訊,請參閱 Apache 網站上的 部署 (WSDD) 參照。
例如,下列方法有 JNDI 查閱:
必須取代查閱:
private com.ibm.demo.webservices.server.DemoType getService() throws Exception {若要使用 WebSphere Application Server JAX-RPC 引擎,您必須使用 WebSphere Application Server Traditional。 Liberty 不支援 JAX-RPC。 若要使用 Liberty,您必須選擇其他選項之一。