使用SOAP将图像从图库发送到Web服务

我已经拖网,找不到任何有关使用SOAP将图像(或任何附件)发送到Web服务的文档。

我一直在发送文本数据,但是现在我需要从图库中发送图像以及文本数据,这会带来另一个问题 – 一次完成两个或更多的asynchronous任务。 如果要发送的logging有附属图像,我将需要共打4个电话;

  1. 发送文本数据。
  2. 检查服务器上的文件是否已经存在。
  3. 发送文件。
  4. 使用从服务器发回的u_id将文件与服务器上的logging链接起来。

我被build议使用Base64方法将文件转换为一个string然后发送它,但我有一种更清洁的方式使用SOAP(没有双关语意图)。

任何反馈非常赞赏。

*请注意,我正在使用一个httpClient,但不得不改变使用SOAP,我也相对较新的Android,所以原谅我,如果我在这里说什么愚蠢的。

  • Android上的脱机Web应用程序HTML5
  • Google Analytics(分析):Web视图与应用视图
  • android BluetoothDevice.getName()返回null
  • 如何使用NetworkRequest.Builder()指定wifinetworking。setNetworkSpecifier(string)
  • android.os.NetworkOnMainThreadException for webservice(ksoap)
  • OutputStream.write()成功但数据未传递
  • WIFI开启时通过移动数据发送请求(Android L)
  • HTML5 Webapp作为iPhone和Android上的常规图标或应用程序。
  • 用SOAP发送附件有三种方法。

    • base64Binary的
    • SwA – 带附件的SOAP
    • MTOM

    base64Binary将附件作为base64在SOAP消息中内联发送。 即embedded在SOAP消息中的附件。 使消息膨胀33%。

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

    MTOM提供两全其美的。 附件是在SOAP消息之外发送的,但是附件看起来好像embedded在SOAP消息中(SOAP信息集包含附件)

    由于附件是使用MTOM发送的附件,因此附件是SOAP消息的一部分,因此它允许您使用其他WS- * QOS(服务质量)属性。 例如,可以使用WS-Security对MTOM消息进行签名和encryption。 因此,这提供了一个机制来发送安全附件,而不需要额外的规格。

    这个例子展示了如何在Apache AXIS2上使用MTOM。