2012-09-12 53 views
2

我的系統:SOAP Web服務 - Java服務器 - iOS用戶端 - SudzC發送或接收大型文件

服務器:通過JAX WS 2.2.3(-wsgen)生成的Java SOAP網絡服務的

客戶:iOS的 - 通過SudzC

產生

我使用iOS上SudzC與Java Web服務通信的SOAP Web服務。我想將NSData文件從iOS客戶端上傳到Java服務器,或者將Java服務器中的byte []文件下載到客戶端。對於少量的數據,Web服務運行良好,但是當數據大於4MB時,就會出現問題。如果我發送的文件大於4MB,則會發生HTTP內部錯誤500,或者所有內容都卡住,導致應用程序崩潰。

有什麼建議嗎?也許,我應該嘗試別的什麼比SudzC?

我知道,爲了發送和接收大文件,SOAP有一個名爲MTOM的機會。 這將從SOAP消息中提取base64Binary數據,並將其作爲單獨的二進制http附件在MIME消息中以與電子郵件附件相似的方式打包。 所以我的問題是,我如何在iOS客戶端SudzC生成的目標C程序代碼上實現此選項? 在Java服務器端,MTOM選項被激活,但在iOS客戶端,我必須實現這個選項?!

也許有人可以幫忙嗎?

+0

我不知道,但也許更容易使用Java REST Web服務而不是SOAP?我只是想將圖像或視頻作爲字節數組和MIME類型從iOS客戶端發送到Java服務器並進行身份驗證。 – user2017

回答

2

我已經使用SudzC上傳大文件(20 +兆字節),所以問題可能不是從SudzC。我記得在開始時有一個文件上傳的問題:服務器沒有接受任何超過X字節的內容並返回錯誤。

然而,我所看到的是,sudzC有很多的上傳大文件時內存的問題,所以我切換到wsdl2objc文件上傳

+0

你可以通過肥皂成功地將文件從iOS上傳到服務器,附件沒有內存問題,請簡單介紹一下。 –

3

我用WSClient ++生成的類和從未有過的問題。

http://wsclient.neurospeech.com/

我不喜歡SudzC,我有什麼問題,當XML回報有名單列表。

+0

WSClient ++看起來非常好,但它不是免費的,我不知道,如果它支持MTOM ... – user2017

+0

免費版允許兩種方法通過網絡服務,參加測試!祝你好運@ user1579536 – Salmo