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

 
 
Herramientas Buscar en Tema Desplegado
  #10  
Antiguo 18-08-2021
iMia iMia is offline
Miembro
 
Registrado: jul 2010
Posts: 141
Poder: 14
iMia Va por buen camino
Red face Gracias

Hola a tod@s...
Primero daros las gracias por compartir todos los conocimientos y dudas que os habéis ido encontrando con el TBAI (ese gran desconocido con el que acabas soñando...)
He conseguido, gracias a vosotros generar el xml, firmarlo (con el AutoFirmaCommandLine), generar el QR, enviarlo y casi lo más difícil, que lo acepten en Guipuzcoa...
Lo he hecho todo con Tokyo (10.2.3), si alguien tiene alguna duda... aquí estoy a vuestra disposición...

Sólo tengo un problemilla con la respuesta, por ahora leo la respuesta directamente a pelo en puro xml. (FindNode('Salida'), etc...) y funciona, pero no la puedo parsear al tipo IXMLTicketBaiResponse (generado automáticamente a partir del xsd)... que sería más elegante, legible y correcto.

intento esto:

Código Delphi [-]
          
var
  idHttp: TIdHttp;
  xmlResp: IXMLDocument;
  xmlTBResp: IXMLTicketBaiResponse;
begin
          ...
          idhttp.Request.ContentType := 'application/xml; charset=utf-8'; // Para evitar el 'ón' de la firma.
          strResponse := idHttp.Post(tblTBAI_Admin.FieldByName('URL_Envia').AsString.Trim + '\alta', RequestBody);
          if not strResponse.isEmpty then
          begin
            xmlResp := TXMLDocument.create(nil);
            strResponse := strResponse.Replace('ns2:TicketBaiResponse','TicketBaiResponse',[rfReplaceAll]); // probado de quitar y nada...
            CoInitialize(nil);
            xmlResp.LoadFromXML(strResponse);
            xmlResp.Active := true;
            responseFileName := strFileName + '_Respuesta_' + formatDateTime(TBAI_DATE_FORMAT_FILE, now()) + FILE_EXT_XML;
            xmlResp.SaveToFile(responseFileName);
            // Aquí podría recorrer xmlResp sin problema...
            if fileExists(responseFileName) then
            begin
              xmlTBResp := NewTicketBaiResponse();
              CoInitialize(nil);
              // Aquí falla con el EIntfCastError 'interface not supported' al intentar meterlo en el tipo TBAIResponse con el LoadTicketBaiResponse
              xmlTBResp := LoadTicketBaiResponse(responseFileName);
              xmlTBResp.Active := true;
              if (xmlTBResp <> nil) and (xmlTBResp.Salida <> nil) then
              ....

Tambien he probado con
Código Delphi [-]
              ...
              xmlTBResp := NewTicketBaiResponse();
              CoInitialize(nil);
              // Aquí falla con el EIntfCastError 'interface not supported' al intentar meterlo en el tipo TBAIResponse con el LoadTicketBaiResponse
              xmlTBResp := GetTicketBaiResponse(xmlResp);  /// Get del xml en vez de load, que es más directo y no hay que guardar a disco
              xmlTBResp.Active := true;
              if (xmlTBResp <> nil) and (xmlTBResp.Salida <> nil) then
              ...
y tampoco...

Si a alguien se le ocurre algo... si no lo dejaré moviéndome por los nodos a pelo...

Muchas gracias de nuevo...

Última edición por iMia fecha: 18-08-2021 a las 08:51:33.
Responder Con Cita
 



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 11:15:54.


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