因為專案需要呼叫公司既有的 Web Service 來處理上/下傳檔案,所以先前花了些時間在測試 Web Service 與 Client 端有關於傳檔的寫法,當時是使用 AXIS 的技術。
雖然測試的結果都很 ok,但實際上拿到公司的 Web Service 時,才發現公司是用 AXIS2,一開始也不以為意,依舊用 AXIS 的 Client 是呼叫這個 Web Service,不過結果確很讓人沮喪,因為雖然一般的呼叫都沒問題,但只要呼叫上傳檔案的方法就會丟出錯誤:
因為專案需要呼叫公司既有的 Web Service 來處理上/下傳檔案,所以先前花了些時間在測試 Web Service 與 Client 端有關於傳檔的寫法,當時是使用 AXIS 的技術。
雖然測試的結果都很 ok,但實際上拿到公司的 Web Service 時,才發現公司是用 AXIS2,一開始也不以為意,依舊用 AXIS 的 Client 是呼叫這個 Web Service,不過結果確很讓人沮喪,因為雖然一般的呼叫都沒問題,但只要呼叫上傳檔案的方法就會丟出錯誤:
當我們的 Web Service 有傳遞檔案的需求時,除了使用 byte 陣列之外,還可以使用 javax.activation.DataHandler 這個類別。
要使用這個類別,尚需引入 activation.jar (JAF) 與 mail.jar 這兩個套件。