Ver Mensaje Individual
  #53  
Antiguo 26-01-2017
seccion_31 seccion_31 is offline
Miembro
 
Registrado: ene 2017
Posts: 109
Reputación: 8
seccion_31 Va por buen camino
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....
Responder Con Cita