Pregunta

Estoy enviando varios archivos PDF a través de SOAP que será recibida por un cliente de Android. Pero cuando se recibe la respuesta SOAP, es tirar OutOfMemoryException.

Quiero saber si es una limitación de kSOAP o Android. Por favor, me guía cómo superarlo.

Gracias.

¿Fue útil?

Solución

Yo sugeriría a no hacer eso. Sólo hay que poner la url prima para el archivo PDF en el mensaje de jabón y descargar el pdf separado independiente de jabón. Que funciona muy bien para mí con archivos PDF, así como imágenes ..

Así que en un poco más de detalle:

Uno de los resultados de la solicitud SOAP debe contener una dirección URL pública completa al archivo PDF en alguna parte en el Internet.

A continuación, utilice DownloadManager o lo que usted desea en términos de desarrollo de Android para obtener el archivo descargado mediante la dirección URL que obtuvo de la respuesta de jabón. Pero no tienen el PDF envuelta dentro de la solicitud de jabón. De esta manera también se puede mostrar una barra de progreso durante la descarga y así sucesivamente muy bien. La descarga de archivos en Android está documentada en todas partes ..

Otros consejos

Ahora que esto es cuestión de edad, pero tal vez ayudar a otros desarrolladores. La forma más eficiente para el envío de un gran contenido binario del / al servicio web es la transferencia de masa máxima de despegue (SOAP con archivos adjuntos). El problema es que la biblioteca ksoap2 no soporta esta característica, pero se puede tratar http://easywsdl.com generador. Lo que sé es que soporta la transferencia de masa máxima de despegue y le permite enviar / recuperar muy grandes archivos binarios. Por supuesto la transferencia de masa máxima de despegue debe ser habilitada también en el lado del servicio web.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top