Bom dia a todos.
Estou tentando implementar essa solução e avaliando vários posts que encontrei aqui no forum, implementei a seguinte solução:
var
lHTTP: TIdHTTP;
lRequisicao: TStream;
lArquivo: TMemoryStream;
lRetorno: TStringStream;
lArquivoCompactado: string;
lHandler: TIdSSLIOHandlerSocketOpenSSL;
begin
lHandler := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
lHandler.SSLOptions.Method := sslvSSLv23;
lHandler.SSLOptions.Mode := sslmUnassigned;
lHandler.SSLOptions.VerifyMode := [];
lHandler.SSLOptions.VerifyDepth := 0;
lHandler.host := '';
lHTTP := TIdHTTP.Create(nil);
lHTTP.IOHandler := lHandler;
lHTTP.HandleRedirects := TRUE;
lHTTP.request.ContentType := 'application/json';
lRetorno := TStringStream.Create('');
lArquivo := TMemoryStream.Create;
try
lArquivo.LoadFromFile(jvDiretorio.Text);
lArquivoCompactado := '"' + EncodeBase64(ReadStrFromStream(lArquivo, lArquivo.Size)) + '"';
lRequisicao := TStringStream.Create(UTF8Encode('teste'));
lHTTP.Post('https://tributario.sef.sc.gov.br/api/drcSt/arquivo/ValidarEstrutura', lRequisicao, lRetorno);
if lHTTP.Response.ResponseCode = 200 then
begin
ShowMessage('Homologação do arquivo realizada com sucesso');
end
else
begin
ShowMessage('Não foi possivel realizar a homologação do arquivo! ' + lHTTP.Response.ResponseText).Show;
end;
finally
lHTTP.Free;
lArquivo.Free;
lRetorno.Free;
lHandler.Free;
end;
end;
Ocorre que, ao realizar a transmissão, estou tendo como erro a seguinte mensagem:
Error connecting with SSL.
EOF was observed that violates the protocol.
Saberiam me informar como contornar essa situação?