2011-09-25 117 views
7

我已經瀏覽了網絡,找不到有關使用SOAP將圖像(或任何附件)發送到Web服務的任何文檔。使用SOAP將圖像從圖庫發送到Web服務

我一直在發送文本數據,但我現在需要從庫中發送圖像以及文本數據,這會帶來另一個問題 - 一次製作兩個或多個異步任務。如果要發送的記錄有附屬的圖像,我將需要共打4個電話;

  1. 發送文本數據。
  2. 檢查服務器上的文件是否已經存在。
  3. 發送文件。
  4. 使用從服務器發回的u_id將文件與服務器上的記錄鏈接起來。

我被建議使用Base64方法將文件轉換爲字符串,然後發送它,但我有一種更清晰的方式來使用SOAP(沒有雙關語意圖)。

任何反饋非常感謝。

*請注意,我使用的是HttpClient的,但不得不改變使用SOAP也我是比較新的到Android所以請原諒我,如果我說任何愚蠢的事在這裏。

回答

6

有三種使用SOAP發送附件的方法。

  • base64Binary的
  • SwA - 帶附件的SOAP
  • MTOM

base64Binary的發送附件,在SOAP消息的base64內聯。即嵌入在SOAP消息中的附件。使消息膨脹33%。

SWA在SOAP消息外發送附件(SOAP消息包含對附件的引用)。但SOAP信息集不包含附件。

MTOM提供兩全其美。附件發送到SOAP消息之外並引用它,但是附件看起來好像它嵌入在SOAP消息中(SOAP信息集包含附件)

由於使用MTOM發送的附件顯示爲該附件是SOAP消息的一部分,它允許您使用其他WS- * QOS(服務質量)屬性。例如,可以使用WS-Security對MTOM消息進行簽名和加密。因此,這提供了一種機制來發送安全附件,而不需要額外的規範。

This示例顯示瞭如何在Apache AXIS2上使用MTOM。

相關問題