Boa tarde.
Estou com problemas para configurar o HTTPSGET.
Configurei da seguite forma.
cRet := HTTPSGET(cUrl,cArqPem," "," ",cParametro,120,aHead,@cHead)
Onde cUrl - é a url do api, passado pela Vale
cArqPem - é path e o arquivo de certificado, o qual não tem uma senha
cParametro - são os parametros de data mais cnpj da empresa
aHead só tem Content-Type: application/json
Olhei os posts aqui antes de criar esse chamado e executei as configurações, mas não deu certo. Vale lembrar que no POSTMAN a soma do cUrl + cParametro funciona.
Agradeço desde já a ajuda.
Boa tarde.
Usei uma dica de um colega e coloquei o item LogHttpFuncs= 1 na clausula GENERAL. Ao abrir o console.log ele me mostrou o seguinte erro: Certificate opening falied - Falha na abertura do certificado. Em outra linha ele mostrou esse outro erro [tSSLSocketAPI][RegisterCertificateToUse] Erros reading certificate. Em outra linha outro erro Faild to initialize Context SSL.
Alguem saberia me dizer o que pode ser?
Bom dia a todos.
Depois de bater a cabeça com isso encontrei a solução e vou mostrar. Haviam 2 erros em minha função:
1- Variavel aHead - Ela é uma matriz. Nesse exemplo colocava apenas dessa forma Aadd(aHead,'Content-Type: application/json') - para trazer em json os dados, mas ao ler um bo da Totvs mudei para Aadd(aHead,'User-Agent: Mozilla/4.0 (compatible; Protheus '+ GetBuild() + ')' ).
2- Faltava o segundo certificado, o qual não tinha sido enviado. Ficando a função desse jeito cRet := HTTPSGET(cUrl,cArqPem,cArqKey," ",cParametro,120,aHead,@cHead).
Uma recomendação validem se o cRet é vazio ou se o tamanho dele é maior q 3, pois se for branco é erro se for 2 significa q ele conseguiu entrar, mas não há dados para os paramentros.