我通过 SOAP 发送多个 PDF 文件,Android 客户端将接收这些文件。但是当接收到 SOAP 响应时,它会抛出 OutOfMemoryException。
我想知道它是 kSOAP 还是 Android 的限制。请指导我如何克服它。
谢谢。
我通过 SOAP 发送多个 PDF 文件,Android 客户端将接收这些文件。但是当接收到 SOAP 响应时,它会抛出 OutOfMemoryException。
我想知道它是 kSOAP 还是 Android 的限制。请指导我如何克服它。
谢谢。
我建议不要那样做。只需将pdf文件的原始url放入soap消息中,然后独立于soap单独下载pdf。这对我来说非常适合 PDF 文件和图像..
所以更详细一点:
您的 SOAP 请求结果之一应包含 Internet 上某处 PDF 文件的完整公共 URL。
然后在 Android 开发方面使用 DownloadManager 或任何您想要的东西,通过使用从肥皂响应中获得的 url 来下载文件。但是不要将 PDF 包含在肥皂请求中。这样,您还可以在下载过程中显示进度条等等。在 Android 上下载文件随处可见。
我现在这是一个老问题,但也许我可以帮助其他开发人员。从/向 Web 服务发送大型二进制内容的最有效方法是 MTOM 传输(带有附件的 SOAP)。问题是 ksoap2 库不支持此功能,但您可以尝试http://easywsdl.com生成器。我所知道的是它支持 MTOM 传输并允许您发送/检索非常大的二进制文件。当然,也必须在 Web 服务端启用 MTOM 传输。