使用SOAP将图像从图库发送到Web服务
问题描述:
我已经浏览了网络,找不到有关使用SOAP将图像(或任何附件)发送到Web服务的任何文档。使用SOAP将图像从图库发送到Web服务
我一直在发送文本数据,但我现在需要从库中发送图像以及文本数据,这会带来另一个问题 - 一次制作两个或多个异步任务。如果要发送的记录有附属的图像,我将需要共打4个电话;
- 发送文本数据。
- 检查服务器上的文件是否已经存在。
- 发送文件。
- 使用从服务器发回的u_id将文件与服务器上的记录链接起来。
我被建议使用Base64方法将文件转换为字符串,然后发送它,但我有一种更清晰的方式来使用SOAP(没有双关语意图)。
任何反馈非常感谢。
*请注意,我使用的是HttpClient的,但不得不改变使用SOAP也我是比较新的到Android所以请原谅我,如果我说任何愚蠢的事在这里。
答
有三种使用SOAP发送附件的方法。
base64Binary的发送附件,在SOAP消息的base64内联。即嵌入在SOAP消息中的附件。使消息膨胀33%。
SWA在SOAP消息外发送附件(SOAP消息包含对附件的引用)。但SOAP信息集不包含附件。
MTOM提供两全其美。附件发送到SOAP消息之外并引用它,但是附件看起来好像它嵌入在SOAP消息中(SOAP信息集包含附件)
由于使用MTOM发送的附件显示为该附件是SOAP消息的一部分,它允许您使用其他WS- * QOS(服务质量)属性。例如,可以使用WS-Security对MTOM消息进行签名和加密。因此,这提供了一种机制来发送安全附件,而不需要额外的规范。
This示例显示了如何在Apache AXIS2上使用MTOM。