Hola !
Ya he conseguido enviar el XML no es muy difícil. (pero tela, para el que no sabe)
1) desde el objeto HTTPRIO se puede obtener el código XML resultante que es al final el que se envía, se puede guardar en disco.
2) desde ese mismo objeto se puede "alterar" en el momento del envio el XML que vas a enviar, o guardar el que ya tienes calculado (1)
3) hay que alterar la llamada de esta forma:
Código:
....
try
// se hace la llamada a la funcion suministrada por el WS
result := GetsiiSOAP(true,'',HTTPRIO1).SuministroLRFacturasEmitidas(ASuministroLRFacturasEmitidas);
4)
Colocar este evento:
Código:
procedure TForm1.HTTPRIO1BeforeExecute(const MethodName: string;
SOAPRequest: TStream);
var
ss:TFileStream;
begin
SOAPRequest.Size:=0;
ss:=TFileStream.Create('C:\1.xml', fmOpenRead);
SOAPRequest.Position := 0;
SOAPRequest.CopyFrom( ss, ss.Size);
ss.Free;
SOAPRequest.Position := 0;
end;
Y listo.
5) eso sustituirá el XML que iba a enviar por el vuestro.
Pero.... y aquí viene lo gordo:
En mi caso en
TODOS LOS ENVIOS ya sean mios
o COPIANDO EL EJEMPLO DE LA AEAT (cambiando únicamente el NIF emisor)
me sale error en la contraparte.
El colmo es que guarda la factura(s) y a la segunda llamada me dice que la factura esta repetida.
6) Sigo esperando respuesta de la AEAT.
A ver si conseguimos algo, porque veo cosas raras... o me equivoco mucho todo el rato. no se ya....