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 29-11-2019
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.054
Poder: 22
keys Va por buen camino
Cita:
Empezado por Sistel Ver Mensaje
Parece que, a pesar de que por la nota aclaratoria última, se va a permitir que se firme el XML de la factura con cualquier certificado instalado en la máquina que emite la factura, por ahora, no parece que se vaya a eximir de la instalación del certificado de dispositivo en toda máquina que emita facturas.
Se va a exigir que se pueda hacer una verificación presencial de dicho certificado de dispositivo.
Y quieren disponer de un mapa de los dispositivos de cada empresa o negocio.
Si es así como tu dices, ¿para que sirve el certificado de la maquina?, ya que según la nota permiten firmar con cualquier otro el fichero. Yo creo que no será necesario certificar la máquina, pero si tener un id unico de la maquina en el fichero (Por cierto a mi me dijeron que abriera la cpu para mirar el número de serie, ya que no eran capaces de sacar ese número por código). Pero Bueno el tiempo lo dira.

Por otra parte no creo que sea algo exclusivo de IZENPE, nosotros por ejemplo estamos haciendo el envío con un certificado de la FNMT y según la nota, ese mismo certificado servirá para firmar el XML.

Otra cosa será el certificado de la aplicacion, pero como de este tampoco se sabe nada. El tiempo lo dira.

SALUDOS
Responder Con Cita
  #2  
Antiguo 29-11-2019
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 174
Poder: 12
elcharlie Va por buen camino
Buenas a todos, estoy probando a enviar información al web service y estoy teniendo problemas, haber si alguien me puede decir que estoy haciendo mal. Me he creado un programilla de pruebas donde leo el contenido del fichero de una factura firmada en Base 64 y lo envío, pero siempre me da error "Los elemento esperados son <{}ticketBai>. Es cierto que en el contenido de fichero solo esta la factura en base 64, pero también he probado a enviarlo con
Código:
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
    <Body>
        <VerificarTicketBaiRequest xmlns="https://ptbai.ticketbai.eus">
            <ticketBai xmlns="">contenido en Base 64</ticketBai>
        </VerificarTicketBaiRequest>
    </Body>
</Envelope>
y nada el mismo error. Realmente no sé como es la estructura a enviar, me estoy haciendo un lío la verdad.

Os pongo el código fuente del procesillo que uso, por si me podéis decir algo.

Código:
procedure TFrmMain.ButtonEnviarServiceClick(Sender: TObject);
var
  HTT_PRIO: THTTPRIO;
  Envio: VerificarTicketBaiRequest;
  Respuesta: VerificarTicketBaiResponse;
begin
  try
    HTT_PRIO := THTTPRIO.Create(nil);	
    Envio := [TFile.ReadAllBytes(EdtFileBase64.text)];
    Respuesta := B4PT.GetptbaiSOAP(False, 'https://ticketbai.eus/B4PT000MWeb/B4PT?wsdl', HTT_PRIO).verificarTicketBai(Envio);
    ShowMessage(Respuesta[0].codigoSeguimiento);
  except on E: Exception do
    ShowMessage(e.ToString);
  end;
end;

Última edición por elcharlie fecha: 29-11-2019 a las 11:10:46.
Responder Con Cita
  #3  
Antiguo 29-11-2019
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.054
Poder: 22
keys Va por buen camino
¿Has probado a enviar ese fichero con la herramienta que proponen ellos? SoapUi
Responder Con Cita
  #4  
Antiguo 29-11-2019
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 174
Poder: 12
elcharlie Va por buen camino
Cita:
Empezado por keys Ver Mensaje
¿Has probado a enviar ese fichero con la herramienta que proponen ellos? SoapUi
Si, desde su herramienta me lo envía.
Responder Con Cita
  #5  
Antiguo 29-11-2019
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.054
Poder: 22
keys Va por buen camino
Yo no he conseguido enviarlo directamente como tu estas haciendo. Lo que hacemos es en el evento OnBeforeExecute generar otro fichero en BASE64 y enviarlo.

Código Delphi [-]
var
  ss:TFileStream;
  i : Integer;
  NficheroTemp : STring;
  ListaFichero : TStringList;
  Base64: TBase64Encoding;
  Salida : Ansistring;
begin

  //FIChero es el fichero original 
  NficheroTemp :=  Copy(Fichero, 1 , Length(Fichero) - 4) + 'TMP.XML';

  
  ListaFichero := TStringList.Create;
  ListaFichero.LoadFromFile(Fichero);
  Base64 := TBase64Encoding.Create;
  Salida := Base64.Encode(ListaFichero.Text);
  Base64.Destroy;
  ListaFichero.Clear;

  ListaFichero.Add('');

  ListaFichero.Add('tb="https://ptbai.ticketbai.eus">');
  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add(salida);

  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add('');

  if FileExists(NficheroTemp) then
   System.SysUtils.DeleteFile(NficheroTemp);

  ListaFichero.SaveToFile(NficheroTemp);
  ListaFichero.Destroy;


  SOAPRequest.Size := 0;
  ss := TFileStream.Create(NFicheroTemp, System.SysUtils.fmOpenRead);
  SOAPRequest.Position := 0;
  SOAPRequest.CopyFrom( ss, ss.Size);
  ss.Free;
  SOAPRequest.Position := 0;

  if FileExists(NficheroTemp) then
   System.SysUtils.DeleteFile(NficheroTemp);
Responder Con Cita
  #6  
Antiguo 29-11-2019
Avatar de elcharlie
elcharlie elcharlie is offline
Miembro
 
Registrado: mar 2013
Ubicación: Bilbao
Posts: 174
Poder: 12
elcharlie Va por buen camino
Cita:
Empezado por keys Ver Mensaje
Yo no he conseguido enviarlo directamente como tu estas haciendo. Lo que hacemos es en el evento OnBeforeExecute generar otro fichero en BASE64 y enviarlo.

Código Delphi [-]
var
  ss:TFileStream;
  i : Integer;
  NficheroTemp : STring;
  ListaFichero : TStringList;
  Base64: TBase64Encoding;
  Salida : Ansistring;
begin

  //FIChero es el fichero original 
  NficheroTemp :=  Copy(Fichero, 1 , Length(Fichero) - 4) + 'TMP.XML';

  
  ListaFichero := TStringList.Create;
  ListaFichero.LoadFromFile(Fichero);
  Base64 := TBase64Encoding.Create;
  Salida := Base64.Encode(ListaFichero.Text);
  Base64.Destroy;
  ListaFichero.Clear;

  ListaFichero.Add('');

  ListaFichero.Add('tb="https://ptbai.ticketbai.eus">');
  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add(salida);

  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add('');
  ListaFichero.Add('');

  if FileExists(NficheroTemp) then
   System.SysUtils.DeleteFile(NficheroTemp);

  ListaFichero.SaveToFile(NficheroTemp);
  ListaFichero.Destroy;


  SOAPRequest.Size := 0;
  ss := TFileStream.Create(NFicheroTemp, System.SysUtils.fmOpenRead);
  SOAPRequest.Position := 0;
  SOAPRequest.CopyFrom( ss, ss.Size);
  ss.Free;
  SOAPRequest.Position := 0;

  if FileExists(NficheroTemp) then
   System.SysUtils.DeleteFile(NficheroTemp);


Gracias por la info, he creado un proceso BeforeExecute y ya va. Sí en verdad es como el SII, pero ni lo he analizado bien, estoy atontado. Muchas gracias estaba bloqueado.
Os pongo el proceso entero por si os vale de algo.

Código:
procedure TFrmMain.BeforeExecute(const MethodName: string;
  SOAPRequest: TStream);
var
  ss:TFileStream;
begin
    SOAPRequest.Size:=0;
    ss:=TFileStream.Create(RutaFicheroEnvio, fmOpenRead);
    SOAPRequest.Position := 0;
    SOAPRequest.CopyFrom( ss, ss.Size);
    ss.Free;
    SOAPRequest.Position := 0;
end;

procedure TFrmMain.ButtonEnviarServiceClick(Sender: TObject);
var
  HTT_PRIO: THTTPRIO;
  Envio: VerificarTicketBaiRequest;
  Respuesta: VerificarTicketBaiResponse;
  ArchivoDestino: String;
begin
  try
    ArchivoDestino := ExtractFilePath(EdtRutaFicheroXML.Text) + StringReplace(ExtractFileName(EdtRutaFicheroXML.Text), ExtractFileExt(EdtRutaFicheroXML.Text), '', [rfReplaceAll, rfIgnoreCase])
      + 'Base64' + ExtractFileExt(EdtRutaFicheroXML.Text);

    RutaFicheroEnvio := ArchivoDestino;

    HTT_PRIO := THTTPRIO.Create(nil);
    HTT_PRIO.OnBeforeExecute := BeforeExecute;

    SetLength(Envio, 1);
    Envio[0] := TFile.ReadAllBytes(RutaFicheroEnvio);
    Respuesta := B4PT.GetptbaiSOAP(False, 'https://ticketbai.eus/B4PT000MWeb/B4PT?wsdl', HTT_PRIO).verificarTicketBai(Envio);

    ShowMessage(Respuesta[0].codigoSeguimiento);
  except on E: Exception do
    ShowMessage(e.ToString);
  end;
end;

Última edición por elcharlie fecha: 29-11-2019 a las 12:14:43.
Responder Con Cita
  #7  
Antiguo 03-12-2019
Avatar de keys
keys keys is offline
Miembro
 
Registrado: sep 2003
Ubicación: Bilbao
Posts: 1.054
Poder: 22
keys Va por buen camino
Recien recibido de TicketBai

Estimados participantes en el piloto TicketBAI:

Les escribimos para informales de que en el mes de noviembre ha finalizado la fase piloto en el proyecto TicketBAI.

Agradecemos enormemente su participación en esta fase del proyecto. Gracias a sus aportaciones, hemos podido revisar las especificaciones del mismo con el fin de que se adapte lo mejor posible a los diferentes modelos de negocio.

Les informamos de los siguientes pasos del proyecto:

• A mediados de diciembre se remitirá a los participantes la documentación definitiva del proyecto TicketBAI, a la vista de las conclusiones obtenidas en el piloto.

• Además, se informará de los canales que cada Administración abrirá para comunicar las novedades relativas a la implantación del sistema TicketBAI y para que las empresas formulen las dudas de todo tipo que tengan. En estos nuevos canales se inscribirá de forma automática a todos los participantes en el piloto TicketBAI. Para formular consultas sobre el sistema definitivo habrá que esperar a la apertura de estos nuevos canales.

• De momento, se mantiene abierto el buzón TicketBAI pero no se atenderá a nuevas consultas. Se podrán registrar nuevas empresas para acceder a la información definitiva del proyecto.

¡Muchas gracias!
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:01:39.


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