¡Hola!
Todo funciona correctamente con la implementacion de HTTPS POST.
Código Delphi
[-]
procedure EnviarECF(FacturaJSON:string);
var
IdHTTP: TIdHTTP;
RequestBody: TStringStream;
ResponseBody: string;
JsonString: string;
URL: string;
LHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
URL := 'https://example.com/api/endpoint';
IdHTTP := TIdHTTP.Create(nil);
RequestBody := TStringStream.Create('');
try
try
LHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
LHandler.SSLOptions.Method := sslvTLSv1_2;
LHandler.SSLOptions.SSLVersions := [sslvTLSv1_2];
IdHTTP.IOHandler := LHandler;
JsonString := FacturaJSON;
IdHTTP.Request.Accept := 'application/json';
IdHTTP.Request.ContentType := 'application/json';
RequestBody.WriteString(JsonString);
RequestBody.Position := 0;
ResponseBody := IdHTTP.Post(URL, RequestBody);
ShowMessage('Response: ' + ResponseBody);
except
on E: EIdHTTPProtocolException do
ShowMessage('HTTP Error: ' + E.Message + ' ' + E.ErrorMessage);
on E: Exception do
ShowMessage('Error: ' + E.Message);
end;
finally
FreeAndNil(RequestBody);
FreeAndNil(IdHTTP);
end;
end;
Así consumimos el procedure anterior desde un formulario. Memo1 contiene el JSON.
Código Delphi
[-]
procedure TFeCFEnvio.btEnviarClick(Sender: TObject);
begin
EnviarECF(Memo1.Lines.Text);
end;
Seguimos evaluando proveedores.
Nuevamente muchas gracias!
Saludos.-