Web 服務移轉最佳作法
移轉 Web 服務應用程式時,請採用這些 Web 服務移轉最佳作法。
如果您已在 WebSphere® Application Server 4、5 或 5.1 版中使用 Apache SOAP 支援來開發 Web 服務用戶端應用程式,您可能需要移轉應用程式,或應用程式的安全檔案。 下表彙總 WebSphere 產品支援的 Web 服務規格。
WebSphere Application Server 版本 | 支援的 Web 服務規格 |
---|---|
4.0 | Apache SOAP 2.2 |
5.0 和 5.0.1 | Apache SOAP 2.3 |
5.0.2 或更新版本 | Java™ 2 Platform Enterprise Edition (J2EE),又稱為 (JSR 109) |
6.0.x 和 6.1 | J2EE (JSR 109) |
7.0 或更新版本 | Web Services for Java Platform Enterprise Edition (Java EE) 5,又稱為 JSR 109 |

如需有關移轉 Web 服務的相關資訊,請參閱「將 Apache SOAP Web 服務移轉到基於 Java EE 標準的 JAX-RPC Web 服務」。
建議使用 Web Services for Java EE 規格來開發新的 Web 服務。 如果要進一步瞭解,請參閱「實作 Web 服務應用程式」。
無法將安全直接從 SOAP 2.3 移轉到 Java EE 標準。將 Web 服務移轉到 Java EE 標準之後,請考慮維護 Web 服務應用程式。如果要進一步瞭解,請參閱「使用訊息層次安全維護 Web 服務應用程式」。
請遵循這些最佳作法,以享受最佳的移轉體驗:
應用程式伺服器支援 Java API for XML-Based Web Services (JAX-WS) 程式設計模型和 Java API for XML-based RPC (JAX-RPC) 程式設計模型。JAX-WS 是延伸 JAX-RPC 程式設計模型所提供之基礎的下一代 Web 服務程式設計模型。
必須使用 JAX-WS 程式設計模型改寫現有想要使用 JAX-WS 特性的 JAX-RPC 應用程式。
移轉到新版的應用程式伺服器之後重新部署現有的 JAX-RPC Web 服務
移轉到新版的應用程式伺服器時,建議您重新部署 Web 服務應用程式。 您應該在新的應用程式伺服器環境中重新部署 Web 服務應用程式,因為每個版本中支援的 Web 服務規格層次和 Web 服務部署描述子可能不同。 如果要重新部署 Web 服務,請在「安裝新的應用程式」精靈中選取部署 Web 服務,或使用 wsdeploy 指令。 如果要進一步瞭解此處理程序,請參閱「將 Web 服務應用程式部署在應用程式伺服器上」文件。
移轉使用 SOAP over Java Message Service (JMS) 呼叫 Web 服務的第 5 版 Java API for XML-based Remote Procedure Call (JAX-RPC) 用戶端
在 WebSphere Application Server 第 5 版上執行的 JAX-RPC 用戶端,可以使用 SOAP over JMS 呼叫第 5 版 Application Server 上執行的 Web 服務。
SibMessage W [:] CWSIT0009W: A client request failed in the application server with
endpoint <endpoint name> in bus <bus_name> with reason: CWSIT0016E: The user
ID null failed authentication in bus <bus_name>.
當應用程式伺服器移轉到 6.x 版、使用預設傳訊提供者(服務整合技術),且伺服器或 Cell 已啟用管理和應用程式安全時,依預設,服務整合匯流排佇列目的地會繼承伺服器或 Cell 的安全性質。 如果伺服器或 Cell 已啟用基本鑑別,用戶端要求會失敗。
- 在管理主控台內的主要安全畫面上停用管理和應用程式安全。如果要停用管理和應用程式安全,請按一下啟用管理安全和啟用應用程式安全選項。 。 取消選取
- 修改佇列目的地所在的服務整合匯流排的設定,以停用匯流排安全,不要讓匯流排繼承伺服器或 Cell 的安全性質。 此選項相當於您在第 5 版中可配置的安全等級。
- 在每一個使用基本鑑別的用戶端上配置此服務。如果要進一步瞭解,請參閱有關使用管理主控台為 JAX-RPC Web 服務配置 HTTP 基本鑑別的相關資訊。
移轉 Apache SOAP Web 服務
您可以將使用 Apache SOAP 開發的 Web 服務,移轉到根據 Web Services for Java 2 Platform Enterprise Edition (J2EE) 規格開發的 Web 服務。請參閱「將 Apache SOAP Web 服務移轉到基於 Java EE 標準的 JAX-RPC Web 服務」的相關資訊。
移轉使用舊版應用程式伺服器工具箱或組合工具箱所組合的 Web 服務
- 當 Web 服務從 J2EE 1.3 移轉到 J2EE 1.4 時,「J2EE 移轉精靈」不會移轉安全的 Web 服務。
- 移轉安全的 Web 服務需要執行手動步驟。
- 在 J2EE 移轉之後,必須手動將安全的連結檔和延伸檔移轉到 J2EE 1.4,如下所示:
- 按兩下 webservices.xml 檔,開啟 Web 服務編輯器。
- 選取連結配置標籤來編輯連結檔。
- 在新的區段要求消費者連結配置詳細資料和回應產生者連結配置詳細資料之下,新增所有必要的連結配置。
- 選取延伸標籤來編輯延伸檔。
- 在新的區段要求消費者服務配置詳細資料和回應產生者服務配置詳細資料之下,新增所有必要的延伸配置。
- 儲存並結束編輯器。
將 8.5 之前的 WebSphere Application Server 節點移轉到 8.5 或更新版本
[7/31/12 14:48:34:323 CDT] 0000043f EditionHelper E Unexpected Error: ibmasyncrsp -- The Application's Directory in the Repository is EMPTY.
[7/31/12 14:48:34:339 CDT] 0000043f FfdcProvider W com.ibm.ws.ffdc.impl.FfdcProvider logIncident FFDC1003I: FFDC Incident emitted on c:\opt\WAS85\profiles\dmgr.xd61\logs\ffdc\dmgr_483a68e7_12.07.31_14.48.34.3396174315962980574983.txt com.ibm.ws.xd.appeditionmgr.EditModuleTargetsTaskHandler 104
[7/31/12 14:48:34:339 CDT] 0000043f EditModuleTar E ERROR_IN_EDIT_MODULE_TARGETS_TASK_HANDLER
只有在 WebSphere Application Server 之外還有其他應用程式伺服器聯合到 Cell 時,才會顯示此錯誤。 將會記載 ibmasyncrsp.ear 檔的相關訊息,這是應用程式伺服器的內部 JAX-WS 引擎使用的內部系統應用程式。因為 JAX-WS 引擎與 WebSphere Application Server 以外的應用程式伺服器無關,所以功能不受影響。 可忽略此訊息。