Capturamos la respuesta y generamos un pdf (En el caso de Reporting). El problema viene que XMLHTTP guarda en cache la petición por lo que puede darse el caso que no renderice el informe con los últimos datos.
Para forzarlo añadimos en la cabecera la opción Cache-Control:no-cache.
Quedaría así:
Name | DataType | Subtype |
XMLHTTP | Automation | 'Microsoft XML, v3.0'.XMLHTTP |
isArchivoRecibido | InStream | |
osEscribeArchivoRecibido | OutStream | |
vRespuesta | Variant |
CREATE(XMLHTTP);
XMLHTTP.open('GET','Mi_Ruta_Informe_Reporting',FALSE);
XMLHTTP.setRequestHeader('Content-Type','application/pdf');
XMLHTTP.setRequestHeader('Cache-Control', 'no-cache');
XMLHTTP.send();
IF (XMLHTTP.status = 200) THEN BEGIN CLEAR(vRespuesta);
vRespuesta := XMLHTTP.responseStream;
isArchivoRecibido := vRespuesta;
F.CREATE('c:\mifichero.pdf');
F.CREATEOUTSTREAM(osEscribeArchivoRecibido);
COPYSTREAM(osEscribeArchivoRecibido,isArchivoRecibido);
F.CLOSE;
END;
CLEAR(XMLHTTP);
No hay comentarios:
Publicar un comentario