Ver Mensaje Individual
  #422  
Antiguo 29-01-2021
espinete espinete is offline
Miembro
 
Registrado: mar 2009
Posts: 233
Reputación: 16
espinete Va camino a la fama
Gracias,. keys.

Estuve revisando el XML Data Binding a ver si había forma de que fuera automático, pero no. Haciendo el cambio manualmente ya no me da ese error.

Me dio otro error relacionado con el orden en el que van los campos en el XML. Al parecer si no están en el orden esperado (Modelo, Capítulo, Subcapitulo, Operacion...) dice que se ha encontrado un campo pero esperaba otro. Se pone tiquismiquis el señorito, pero bueno.

Después de colocarlo todo en el orden correcto, ahora obtengo un error que me hace mucha menos gracia que todos los anteriores:

B4_1000002 - Todos los registros incluidos en la petición son incorrectos.

Pues menuda gracia.

Me ocurre con el 240 y con el 140. Este es el código que utilizo para generar y firmar el XML:

Código Delphi [-]
    f := NewLROEPJ240FacturasEmitidasConSGAltaPeticion;

    f.Cabecera.Modelo:='240';
    f.Cabecera.Capitulo:='1';
    f.Cabecera.SubCapitulo:='1.1';
    f.Cabecera.Operacion:='A00';  //A00 = Alta / M00 = Modificación
    f.Cabecera.Version:='1.0';
    f.Cabecera.Ejercicio:=2021;

    f.Cabecera.ObligadoTributario.NIF:='XXXXXXXX';
    f.Cabecera.ObligadoTributario.ApellidosNombreRazonSocial:='XXXXXXXXXXXXXXXX';

    with f.FacturasEmitidas.Add do
    begin
        TicketBai := EncodeFileToBase64('firmado.xml');
    end;

    XMLDocument2.XML.Text:=f.XML;
    xmldocument2.Active:=True;
    xmldocument2.SaveToFile('lroe.xml');

    FicheroCorregir := TStringList.Create;
    FicheroCorregir.LoadFromFile('lroe.xml');
    FicheroCorregir.Text := AnsiReplaceStr(FicheroCorregir.Text, '','');
    FicheroCorregir.Text := AnsiReplaceStr(FicheroCorregir.Text, '','');
    FicheroCorregir.SaveToFile('lroe.xml');

    comprimir('lroe.xml','archivo.gz');

Y este el del envío:

Código Delphi [-]
    RequestBody := TFileStream.Create('archivo.gz', fmOpenRead);

    NetHTTPClient1.SecureProtocols := [THTTPSecureProtocol.TLS12];
    NetHTTPClient1.CustomHeaders['Accept-Encoding'] := 'gzip';
    NetHTTPClient1.CustomHeaders['Content-Encoding'] := 'gzip';
    NetHTTPClient1.CustomHeaders['Content-Type'] := 'application/octet-stream';
    NetHTTPClient1.CustomHeaders['eus-bizkaia-n3-version'] := '1.0';
    NetHTTPClient1.CustomHeaders['eus-bizkaia-n3-content-type'] := 'application/xml';

    //Formamos los parametros json de entrada
        json :=  f_cabecera_LROE('LROE', //concepto
                                 '1.1',  //apartado (1.1 = Ingreso con Facturas con Software Garante / 2 = Facturas Recibidas
                                 'XXXXXXXX',  //NIF
                                 'XXXXXXXXXXXXXXXXXX',   //Nombre o Razón Social
                                 '',   //Primer Apellido
                                 '',   //Segundo Apellido
                                 '240',   //140 o 240
                                 '2021'); //Ejercicio

    NetHTTPClient1.CustomHeaders['eus-bizkaia-n3-data'] := json;
    AResponse := NetHTTPClient1.Post('https://pruesarrerak.bizkaia.eus/N3B4000M/aurkezpena',RequestBody);


¿En serio? TODOS los registros incluidos en la petición son incorrectos???!?!?

Obviamente en el xml y en el envío no he puesto XXXXXXXX sino los datos correctos, que coinciden con el del certificado digital que estoy usando.

¿Alguien más ha tenido este problema? ¿A qué campos se refiere exactamente?
Responder Con Cita