Boa tarde pessoal.
Estou fazendo a integração com delphi/indy e estou recebendo erros no servico de teste e de producao.
Alguém já passou por isso ou já fez?
Desde já agradeço
Erro Produção: HTTP/1.1 404 NOT FOUND
Erro Teste: Error connecting with SSL.
error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
url: https://private-anon-97110e7186-lojaintegrada.apiary-mock.com/v1/categoria/
Codigo:
function Tcomunicacao.enviar(Metodo : TMetodo; ServicoHomologacao, ServicoProducao,
Dados: String): String;
var
streStream: TStringStream;
fIdHTTP1 : TIdHTTP;
fIdSSLIOHandlerSocketOpenSSL : TIdSSLIOHandlerSocketOpenSSL;
Servico : TStringBuilder;
begin
Servico := TStringBuilder.Create;
fIdHTTP1 := TIdHTTP.Create;
fIdSSLIOHandlerSocketOpenSSL := TIdSSLIOHandlerSocketOpenSSL.Create;
streStream:= TStringStream.Create(Dados, TEncoding.UTF8);
try
with fIdSSLIOHandlerSocketOpenSSL do
begin
SSLOptions.Method := sslvSSLv23;
SSLOptions.SSLVersions := [
sslvSSLv2
,sslvSSLv23
,sslvSSLv3
,sslvTLSv1
,sslvTLSv1_1
,sslvTLSv1_2
];
end;
with fIdHTTP1 do
begin
IOHandler := fIdSSLIOHandlerSocketOpenSSL;
HandleRedirects := true;
Request.UserAgent := 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2227.0 Safari/537.36';
end;
if fAmbiente = tpHomologacao then
servico.Append(ServicoHomologacao)
else
begin
servico.Append(ServicoProducao);
servico.Append('?format=json');
if pos('?', Servico.ToString) > 0 then
servico.Append('&')
else
servico.Append('?');
servico.Append('chave_api=');
servico.Append(fChaveApi);
servico.Append('&');
servico.Append('chave_aplicacao=');
servico.Append(fChaveAplicacao);
end;
fIdHTTP1.Request.ContentType := 'application/json';
fIdHTTP1.Request.Charset := 'utf-8';
try
case Metodo of
tpPost: result := fIdHTTP1.Post(Servico.ToString, streStream);
tpPut: result := fIdHTTP1.Put(Servico.ToString, streStream);
TpGet:
begin
fIdHTTP1.Get(Servico.ToString, streStream);
Result := streStream.DataString;
end;
end;
except
on e : exception do
result := e.message +#13+ Servico.ToString;
end;
finally
freeandnil(fIdHTTP1);
freeandnil(streStream);
freeandnil(Servico);
freeandnil(fIdSSLIOHandlerSocketOpenSSL);
end;
end;