MTOM 服務 - Technotes


開始使用
尋找程式碼
檢視程式撰寫注意事項


開始使用

此範例說明 SOAP 訊息傳輸最佳化機制 (MTOM) 如何利用 JAX-WS Web 服務來傳輸二進位檔。 

MTOM 服務範例實作的 Web 服務會將檔案的二進位內容傳回至用戶端。此範例包括 Servlet 用戶端 org.apache.axis2.jaxws.sample.servlet.SampleServlet 和 MTOM 服務小型用戶端應用程式 org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests。服務用戶端 Servlet 和小型用戶端應用程式使用一般程式碼,利用 SampleMTOMTests.java 原始檔中的 dispatch 和 proxy 型用戶端來使用服務。

尋找程式碼

加註的 MTOM 服務範例用戶端 Servlet 和小型用戶端應用程式的 Java 程式碼位於 profile_root/samples/src/JaxWSServicesSamples/SampleMTOMClient/src 目錄中。

MTOM 服務應用程式的 Java 程式碼位於 profile_root/samples/src/JaxWSServicesSamples/SampleMTOMService/src 目錄中。

在 z/OS 作業系統上:z/OS 作業系統不提供這些 JAX-WS 範例的程式碼樹狀結構,因為範例應用程式不是在 z/OS 作業系統上建置的。

檢視程式撰寫注意事項

MTOM 服務範例是使用定義服務的兩個 Web 服務說明語言 (WSDL) 檔案中的 Rational Application Developer 工具而產生的。所提供的其中一個服務端點使用 SOAP 1.1,另一個則使用 SOAP 1.2。伺服器會根據內容類型,自動識別所收到的 MTOM 最佳化訊息, 並據此將訊息解除序列化。因此,MTOM 服務範例中並沒有明確程式碼來處理服務中的 MTOM。

不過,在用戶端上,MTOM 必須在服務交易之前啟用。 在 MTOM 服務小型用戶端應用程式 org.apache.axis2.jaxws.sample.mtom.SampleMTOMTests.java 內, 在 testMtomWithDispatch 和 testMtomWithProxy 方法中,對連結會呼叫 setMTOMEnabled 方法。呼叫此方法之後,送出的訊息會序列化, 並以 MTOM 最佳化訊息傳送。如果 setMTOMEnabled 方法未設定連結, 則二進位內容節點中的所有二進位資料會序列化成為 Base64 編碼字串。

用戶端 Servlet org.apache.axis2.jaxws.sample.servlet.SampleServlet.java 沒有特定服務的程式碼,它會呼叫 SampleMTOMTests.java 檔案所提供的方法。

此範例所提供的用戶端會使用 dispatch 和 proxy 這兩種程式設計模型來呼叫 MTOM 服務。 用戶端將示範如何存取 dispatch 和 proxy 方法。

如需為 JAX-WS Web 服務啟用 MTOM 的相關資訊,請參閱 WebSphere Application Server Information Center Library