Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Internet
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-10-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.108
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por keys Ver Mensaje
Perdón lo intente con la etiqueta para código en delphi pero no salia bien, no había visto la de php.
Tienes razón, tuve que probar otros para ver cómo se veía y el de php parece que es el más idóneo.
Saludos.
Responder Con Cita
  #2  
Antiguo 16-10-2020
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.056
Poder: 22
keys Va por buen camino
Hola a todos.

Bizkaia a publicado nuevos ficheros para el envío del 140/240 www.batuz.eus por cierto les he comentado lo del espacio en el xsd que da error al importarlos en el xml databinding y me han dicho que es un error y que lo van a corregir. No se si en lo subido esta corregido ya que sus xsd de envio del 140/240 da el mismo error.

Por otra parte. Al importar los ficheros xsd con el xml databindig y generar los xml con delphi no añade el espacio de nombres. Es decir pone

Código:
<TicketBai xmlns="urn:ticketbai:emision">
y ellos quieren que ponga

Código:
<T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ticketbai:emision ticketBaiV12.xsd ">
Yo lo que estoy haciendo una vez generado el fichero cambiarlo a pelo. ¿Pero hay alguna forma que la clase IXMLDocument lo genere asi directamente?.

Un Saludo.
Responder Con Cita
  #3  
Antiguo 16-10-2020
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 178
Poder: 12
elcharlie Va por buen camino
Buenas a todos,
¿Alguien ha podido enviar alguna factura/ticket al servidor de Gipuzkoa? Es que a mi siempre me esta retornando esto:
Código PHP:
<ns2:TicketBaiResponse xmlns:ns2="http://ticketbai.eus">
   <
Salida>
      <
FechaRecepcion>16-10-2020 10:50:32</FechaRecepcion>
      <
Estado>01</Estado>
      <
Descripcion>Rechazado</Descripcion>
      <
Azalpena>Baztertua</Azalpena>
      <
ResultadosValidacion>
         <
Codigo>006</Codigo>
         <
Descripcion>ErrorEl servicio de recepción no está disponibleRepita la operación más tarde</Descripcion>
         <
Azalpena>AkatsaJasotze zerbitzua ez dago erabilgarriEgin berriro eragiketa geroago</Azalpena>
      </
ResultadosValidacion>
   </
Salida>
</
ns2:TicketBaiResponse
Responder Con Cita
  #4  
Antiguo 16-10-2020
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 178
Poder: 12
elcharlie Va por buen camino
Cita:
Empezado por keys Ver Mensaje
Hola a todos.

Bizkaia a publicado nuevos ficheros para el envío del 140/240 www.batuz.eus por cierto les he comentado lo del espacio en el xsd que da error al importarlos en el xml databinding y me han dicho que es un error y que lo van a corregir. No se si en lo subido esta corregido ya que sus xsd de envio del 140/240 da el mismo error.

Por otra parte. Al importar los ficheros xsd con el xml databindig y generar los xml con delphi no añade el espacio de nombres. Es decir pone

Código:
<TicketBai xmlns="urn:ticketbai:emision">
y ellos quieren que ponga

Código:
<T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:ticketbai:emision ticketBaiV12.xsd ">
Yo lo que estoy haciendo una vez generado el fichero cambiarlo a pelo. ¿Pero hay alguna forma que la clase IXMLDocument lo genere asi directamente?.

Un Saludo.
Yo tambien lo estoy cambiando a mano, pero solo estoy añadiendo esto:
Código PHP:
<T:TicketBai xmlns:T="urn:ticketbai:emision" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
Responder Con Cita
  #5  
Antiguo 16-10-2020
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.056
Poder: 22
keys Va por buen camino
Puede ser que valga solo con eso.
Yo he cogido lo que viene en un fichero de ejemplo de la hacienda de gipuzkoa que me han mandado.
Responder Con Cita
  #6  
Antiguo 20-10-2020
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 178
Poder: 12
elcharlie Va por buen camino
Hola a todos,
hoy me han mandado esto los de la diputación de Gipuzkoa. Les mandé un email. porque el servicio web siempre me respondía con el mensaje "Error: El servicio de recepción no está disponible. Repita la operación más tarde".
Por si os sirve de ayuda.

Cita:
Buenos días,
Hemos detectado que hay un problema derivado de la comprobación de la política de firma, estamos revisando como está implementada esta comprobación.
Si se envía el fichero sin indicar una política de firma explícita, creemos que funcionará.

Un saludo,
Responder Con Cita
  #7  
Antiguo 20-10-2020
juramisa juramisa is offline
Miembro
 
Registrado: abr 2007
Posts: 54
Poder: 18
juramisa Va por buen camino
Petición al servicio

Buenas tardes,

Os pido ayuda para el envío del fichero LROE, siempre me da error desconocido.
Estoy usando los componente TNetHTTPRequest y TNetHTTPClient, pero si alguien me da otra opción más sencilla y que funcione, estoy dispuesto a cambiar.

Os expongo el código a ver si alguien puede ayudarme, que hago mal.

en TNetHTTPClient cargo el cerificado:

Código Delphi [-]
procedure TfrmEnvelm.NetHTTPClient1NeedClientCertificate(const Sender: TObject; const ARequest: TURLRequest; const ACertificateList: TCertificateList; var AnIndex: Integer);
var
  i: Integer;
begin
  for i := 0 to ACertificateList.Count - 1 do
  begin

    if SameText(ACertificateList[i].Subject, mi_certificado.Caption) then
    begin
      AnIndex := i;
      break;
    end;
  end;
end;

Genero el fichero XML y lo comprimo en formato gzip.

Código Delphi [-]
    

function TfrmEnvelm.f_cabecera_LROE(mi_con, mi_apa, mi_nif, mi_nrs, mi_ap1, mi_ap2, mi_mode, mi_eje : string): string;
begin
  result := Format('{"con": "%s", "apa": "%s", "inte": {"nif": "%s","nrs": "%s","ap1": "%s","ap2": "%s"},"drs": {"mode": "%s","ejer": "%s"}}', [mi_con, mi_apa, mi_nif, mi_nrs, mi_ap1, mi_ap2, mi_mode, mi_eje]);
end;


var
  Src, Dst: TFileStream;
  ResponseContent: TMemoryStream;
  Encoding: TEncoding;
  ss: TStringStream;
....
    SaveAsUTF8(DMBatu.CDSEnvc.FieldByName('EN050').AsString, el_xml.XML);
    Src := TFileStream.Create(DMBatu.CDSEnvc.FieldByName('EN050').AsString, fmOpenRead);
    try
      Dst := TFileStream.Create(DMBatu.CDSEnvc.FieldByName('EN050').AsString + '.gz', fmCreate);
      try
        MakeGZ(Src, Dst);
      finally
        Dst.Free;
      end;
    finally
      Src.Free;
    end;

Cargo cabecera y cuerpo de https, y realizo la llamada.

Código Delphi [-]
   
      if FileExists(DMBatu.CDSEnvc.FieldByName('EN050').AsString + '.gz') then
      begin
        NetHTTPRequest1.CustomHeaders['Accept-Encoding'] := el_accept_Encoding;
        NetHTTPRequest1.CustomHeaders['Content-Encoding'] := el_Content_Encoding;
        NetHTTPRequest1.CustomHeaders['Content-Type'] := el_Content_Type;
        NetHTTPRequest1.CustomHeaders['eus-bizkaia-n3-version'] := el_eus_bizkaia_n3_version;
        NetHTTPRequest1.CustomHeaders['eus-bizkaia-n3-content-type'] := el_eus_bizkaia_n3_content_type;
        el_eus_bizkaia_n3_data :=  f_cabecera_LROE(el_concepto,
                                                   el_subcapitulo,
                                                   DMBatu.CDSPres.FieldByName('PR020').AsString,
                                                   DMBatu.CDSPres.FieldByName('PR040').AsString,
                                                   DMBatu.CDSPres.FieldByName('PR090').AsString,
                                                   DMBatu.CDSPres.FieldByName('PR100').AsString,
                                                   DMBatu.CDSPres.FieldByName('PR080').AsString,
                                                   txtEjer.Text);
        NetHTTPRequest1.CustomHeaders['eus-bizkaia-n3-data'] := el_eus_bizkaia_n3_data;
        ss := TStringStream.Create('', TEncoding.UTF8);
        ss.Position := 0;
        ss.LoadFromFile(DMBatu.CDSEnvc.FieldByName('EN050').AsString + '.gz');

        NetHTTPRequest1.MethodString := 'POST';
        Memo1.Text := NetHTTPClient1.Post(la_url, ss).ContentAsString(tencoding.UTF8);

Las variables siguientes, se leen de un fichero de configuración:

Código Delphi [-]
    la_url := 'https://sarrerak.bizkaia.eus/aurkezpena';
    el_accept_Encoding := 'gzip';
    el_Content_Encoding := 'gzip';
    el_Content_Type := 'application/octet-stream';
    el_eus_bizkaia_n3_version := '1.0';
    el_eus_bizkaia_n3_content_type := 'application/xml';
    el_Concepto := 'LROE';
   el_subcapitulo := '1.1';
Tengo dudas si el cuerpo debe de estar en hexadecimal.

Estoy abierto a todo, ya no se por donde seguir,
Gracias
Responder Con Cita
  #8  
Antiguo 21-10-2020
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.056
Poder: 22
keys Va por buen camino
Hola a todos.

No te he revisado todo pero vas por buen camino.

El problemaes es que en Bizkaia no han empezado el periodo de prueba de los envíos. Site fijas en la url https://sarrerak.bizkaia.eus/aurkezpena y pinchas te dice que el servidor no esta disponible.

Esa es la dirección de producción, es decir la definitiva. Tienen que publicar la dirección del entorno de pruebas que me imagino que será distinta.

Si tienes que hacer también Gipuzkoa, puedes empezar por ellos que ya tienen el periodo de pruebas de envíos en marcha y es más sencillo.

Un Saludo.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
SII -Nuevo sistema de la Agencia Tributaria española de envío de datos vía Webservice newtron Internet 3565 Hace 1 Semana 11:04:13
Como utilizar la ayuda del nuevo Sistema Operativo gluglu Humor 3 24-09-2007 09:39:05
Aplicacion Agencia De Viajes ArdiIIa Varios 9 20-01-2007 16:49:53
El Vasco Aguirre Al González La Taberna 5 26-05-2006 09:22:28
Microsoft ha lanzado su nuevo sistema operativo DarkByte Humor 0 25-01-2004 09:21:14


La franja horaria es GMT +2. Ahora son las 15:16:24.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi