Cita:
Empezado por lithium76
Buenas tardes,
¿hay alguna manera de capturar el xml que se genera que no sea antes del evento HTTPRIO1BeforeExecute y coger de allí el parámetro SoapRequest del TStream ?
Si no la hay.. ¿se puede cancelar el envío justo en el evento mismo con alguna instrucción?
básicamente, la idea es generar el xml pero no enviarlo
Muchas gracias por adelantado y siento si se ha respondido antes pero no lo he sabido ver
|
en el before execute del httprio añades
SaveDialog.Title := 'Guardar el fichero XML';
if(SaveDialog.Execute) then
begin
ss:=TFileStream.Create(SaveDialog.FileName, fmCreate);
SOAPRequest.Position := 0;
ss.CopyFrom(SOAPRequest,SOAPRequest.Size);
ss.Free;
SOAPRequest.Position := 0;
end;
raise Exception.Create('BLA BLA');
y te creas una variable de control que cuando sea true por ejemplo entre por ahí (botón guardar xml por ejemplo) y cuando sea false pues haga lo que se hace siempre.
en negrita te pongo la clave para que el proceso 'pare' y no se envíe nada a hacienda.
no queda muy bonito/estetico pero funciona :P