PDA

Ver la Versión Completa : Servicio Web que retorna Un fichero pdf


keys
17-02-2015, 16:37:38
Hola a todos.

Estoy haciendo un cliente para poder acceder a un servicio web. Lo estoy haciendo con los componentes REST CLIENT, consigo que se conecte y que me devuelva la respuesta. El problema es que la respuesta es un documento pdf y no se como hacer con el componente TRESTRESPONSE para guardar este fichero pdf.

Alguien me puede ayudar?

Gracias.

Neftali [Germán.Estévez]
17-02-2015, 17:32:17
¿Puedes poner cómo es la respuesta que te devuelve el componente?

keys
18-02-2015, 10:05:23
Hola, lo primero gracias.

En la descripción del servicio solo pone que devuelve un pdf. Te pongo lo que devuelve en la propiedad Content del objeto TRESTRESPONSE. te pongo un trozo ya que supongo que es contenido del fichero pdf.

%PDF-1.4'#$A'%����'#$A'1 0 obj'#$A'[/PDF/ImageB/ImageC/ImageI/Text]'#$A'endobj'#$A'3 0 obj'#$A'<</Length 4 0 R/Filter/FlateDecode/N 3/Range[0 1 0 1 0 1 ]>>'#$A'stream'#$A'x���wTS�'#$16'�Ͻ7�P�'#$10'���khR'#2'H'#$D'�H�.*1'#9#$10'J��'#0'"6DTpDQ��'#8'2(��C��"��

En la propiedad FContentType retorna 'appication/pdf'

Un Saludo.

Neftali [Germán.Estévez]
18-02-2015, 10:25:46
¿Has probado a guardar eso como un PDF y a abrirlo?

keys
18-02-2015, 10:40:25
He intentado hacer un copia pega de ese contenido pero me elimina caracteres al hacerlo y luego al intentar abrirlo me dice que el fichero no es correcto, me imagino que es por que lo trata como un string.

gracias.

Neftali [Germán.Estévez]
18-02-2015, 12:52:17
O porque hay caracteres con otra codificación que se pierden en esa operación.
Intenta escribirlo en un fichero desde código con los métodos estandard (Append, Write,...) y luego a abrirlo.

keys
18-02-2015, 13:23:45
Es lo que estoy intentando hacer, pero no consigo que me guarde bien todo el fichero. Seguire probando.

keys
18-02-2015, 15:56:52
He visto que en la propiedad Header del objeto TRestREsponse devuelve lo siguiente:

Date=Wed, 18 Feb 2015 14:38:14 GMT
Content-Disposition=attachment; filename="20150218-153815.pdf"
Content-Length=000000000084077
Keep-Alive=timeout=20, max=200
Connection=close
Content-Type=application/pdf

Parece ser que retorna adjunto el fichero pdf. ¿Hay alguna forma de acceder a ese fichero adjunto?.

Gracias

Neftali [Germán.Estévez]
18-02-2015, 16:42:24
Entonces prueba a "montar" la URL completa, a partir de la URL a la que haces la petición más ese nombre de fichero y entonces pruebas la descarga.
Para esto último Inet o las Indy deberían servir.

keys
20-02-2015, 13:40:27
Hola a todos. He consiguido contactar con los que dan el servicio que por cierto es la agencia tribuataria y me dicen que el fichero pdf va en la respuesta y no lo almacenan en ningún sitio.