Página 3 de 3

API para CIOT

Enviado: 21 Abr 2023 17:37
por Alexandre Silva
Opa
Consegui fazer o arq.Json. Ai eu abro no postman,para testes e fica ok
no Postman,esta comunicando ok,

Em anexo os Headers ,veja que tem 2 Headers company e o Authorization que é um token de 1582 caracteres
ate ai ok. Funcionando e retornando.

mas ao mandar pelo Harbour usando a funcao abaixo, com a mesma Url, arq.Json, e token (que uso nos testes postman)
esta retornando :
{"status": 401, "msg": "Signature verification failed"} │

Obs, O metodo é POST ok

Tambem tentei colocar ai mais um Header
oWeb:SetRequestHeader( "company", "6431c5a87129e40007b788ee )
Mas nao funcionou
Algum detalhe faltando, alguem pode me ajudar ?

Código: Selecionar todos

cResposta := HttpPost( cUrl, oData, "application/json", "Bearer " + cToken )

 ? "Resultado: ", cResposta


FUNCTION httpPost( cUrl, oData, cHead1, cHead2 )
 LOCAL oWeb, cResposta

   oWeb := win_OleCreateObject( "MSXML2.ServerXMLHTTP" )
   oWeb:Open( "POST", cUrl, .F. )
   oWeb:SetRequestHeader( "Content-Type", cHead1 )
   oWeb:SetRequestHeader( "Authorization", cHead2 )
   oWeb:Send( hb_JsonEncode( oData ) )
   oWeb:WaitForResponse( 100 )
   cResposta := oWeb:ResponseBody()

   RETURN cResposta

API para CIOT

Enviado: 21 Abr 2023 18:35
por JoséQuintas
A mensagem é "falha de verificação de assinatura"

Dá pra dizer que o webservice funcionou, porque retornou resposta.
agora é verificar porque ele está retornando essa mensagem.

Não sei se uma pesquisa no google ajuda.
Ou se uma olhada nas configurações do postman.

API para CIOT

Enviado: 21 Abr 2023 19:30
por Alexandre Silva
sim pesquisei e tentei varias coisas
Está correto mandar esse header assim ?
oWeb:SetRequestHeader( "company", "6431c5a87129e40007b788ee" )

Pois para o token foi ("Bearer " + cToken)
tambem testei
oWeb:SetRequestHeader( "company", ""Bearer 6431c5a87129e40007b788ee")
sem sucesso

API para CIOT

Enviado: 22 Abr 2023 07:02
por JoséQuintas

Código: Selecionar todos

METHOD WS( cToken, cPostGet, cUrl, cMsg ) CLASS IFoodClass

   LOCAL oServer, cRetorno

   hb_Default( @cPostGet, "POST" )
   hb_Default( @cMsg, "" )

   oServer := win_OleCreateObject( "MSXML2.ServerXMLHTTP" )
   oServer:Open( cPostGet, cUrl, .F. )
   IF cToken == Nil
      oServer:SetRequestHeader( "Content-Type", "application/x-www-form-urlencoded" )
   ELSE
      oServer:SetRequestHeader( "Content-Type", "application/json" )
      oServer:SetRequestHeader( "Authorization", "Bearer " + hb_JsonDecode( cToken )[ "accessToken" ] )
   ENDIF
   oServer:Send( cMsg )
   oServer:WaitForResponse( 2000 )
   cRetorno := oServer:ResponseBody()

   RETURN cRetorno
No IFood, o bear vai com o token

API para CIOT

Enviado: 22 Abr 2023 16:15
por Alexandre Silva
OPA
Passou sem o Bearer e pediu o company
Esta comunicando no windows server 64
Show

oWeb:SetRequestHeader( "Content-Type", cHead1 ) // "application/json"
oWeb:SetRequestHeader( "company", vcompany )
oWeb:SetRequestHeader( "Authorization", cToken ) // sem Bearer


Pergunta. Porque no PC que tem windows 7, esta dando esse retorno ?


Error WINOLE/1007 Erro no suporte a canais seguros
(0x80072F7D): msxml3.dll
( DOS Error -2147352567)

API para CIOT

Enviado: 22 Abr 2023 16:58
por JoséQuintas
Alexandre Silva escreveu:Pergunta. Porque no PC que tem windows 7, esta dando esse retorno ?
Error WINOLE/1007 Erro no suporte a canais seguros
Faltou nessa aula ?

Coisa elementar, se pegar um Windows 7 qualquer, não funciona nada de SSL.
A atualização pra isso NÃO É AUTOMÁTICA.

https://support.microsoft.com/pt-br/top ... 268bb10392

E isso é obrigatório pra NFE há muito tempo.

Mais prático atualizar grátis pra Windows 10.

API para CIOT

Enviado: 22 Abr 2023 17:14
por Alexandre Silva
é que a NFe esta funcionando, no W7 Ultimate e o webservice para averbacao de seguro tambem..
Entao pensei que poderia funcionar o acesso a API
ok Obrigado

API para CIOT

Enviado: 22 Abr 2023 18:28
por JoséQuintas
Então, teoricamente, deveria funcionar também.

API para CIOT

Enviado: 22 Abr 2023 18:32
por JoséQuintas
Tem outra coisa que, se não me engano, o W7 não atualiza mais: certificados raiz.
Já vi W7 mostrando certificados raiz vencidos.
Aí acaba bloqueando webservice e sites que precisam do certificado raiz mais novo.