Buenas soy nueva por aqui, buscando como pelearme con ticketbai llegué a este foro.
Estaba teniendo problemas con el envío desde delphi, ya que en mi version no tengo "TNetHTTPClient" por lo que he estado investigando con el Idhttp (que habia leido que no se podia) y he conseguido que se envie con su certificado.
Os dejo el codigo que me ha funcionado por si a alguien más le puede ser útil.
De primeras hay que crear un componente TIdSSLIOHandlerSocketOpenSSL y otro TIdhttp en el formulario.
En el TIdSSLIOHandlerSocketOpenSSL hay que añadirle al evento OnGetPassword lo siguiente
Código:
procedure TFMain.LHandlerGetPassword(var Password: string);
begin
Password := 'IZProd2021';
end;
Y luego ya el codigo del envio
Código:
RequestBody := TFileStream.Create('tempBAi_firmado.xml', fmOpenRead);
LHandler.SSLOptions.SSLVersions := [sslvTLSv1_2];
LHandler.SSLOptions.CertFile := 'sello_entidad_act.p12';
LHandler.SSLOptions.KeyFile := 'sello_entidad_act.p12';
LHandler.ongetpassword := LHandlerGetPassword;
idhttp_fac := TIdhttp.Create();
idhttp_fac.IOHandler:=LHandler;
idhttp_fac.Request.ContentType := 'application/xml';
Respuesta := idhttp_fac.Post('h t t p s://tbai-prep.egoitza.gipuzkoa.eus/WAS/HACI/HTBRecepcionFacturasWEB/rest/recepcionFacturas/alta',RequestBody);
Espero que os sea util
