Se alguma pergunta ou resposta lhe foi útil, não deixe de dar seu voto positivo!

Rest 2.0 com autenticação não está abrindo o ambiente corretamente

Boa tarde,

Após a atualização para a versão 12.1.33 e a utilização do Rest 2.0, comecei a ter problemas com a autenticação via API.

Utilizo o chave PrepareIn=01 e passo o Basic Auth via header, o que funciona normalmente.

Porém, agora na 12.1.33 tenho tido muitos problemas com thread caindo ou não conseguindo abrir o ambiente, resultando em errorlogs como:

THREAD ERROR ([4580], TP|HTTPREST|HTTPURI@01|FALSE, 92B8E47CB1917F428FE1DEED5A91A19A) 09/02/2022 13:37:37 Alias does not exist SX2 ( PREVIOUS ERROR : Alias does not exist: DT6 ) on CHKFILE(APLIB200.PRW) 30/12/2021 15:45:42 line : 929

THREAD ERROR ([1972], TP|HTTPREST|HTTPURI@01|FALSE, 92B8E47CB1917F428FE1DEED5A91A19A) 09/02/2022 13:39:00 : DBUseArea - DB driver not initialized. on SFOPEDESC(QUICKOPE.PRW) 09/02/2022 13:33:39 line : 3158

A API que está sendo executada, apenas realiza algumas tarefas do Protheus via mobile, a mesma não utiliza comandos para abrir/fechar ambiente (RpcSetEnv/RpcClearEnv).

Mesmo aumentando consideravelmente o número de threads na tag Instances (Instances=20,60,18,5) o problema começa a ocorrer depois de um tempo.

Alguém já passou por isso?

Grato.

compartilhar
  • Guilherme, por favor, anexa a configuração do seu REST aqui. Se possível a API também. Somente essa API é chamada ou alguma outra? Parece que o ambiente foi fechado.

    Daniel Mendes   09 de Feb de 2022
  • Guilherme, caso esse REST esteja atendendo outras API além dessa que você comentou, existe a possibilidade de alguma API ter encerrado o ambiente indevidamente. Em casos como esse, a melhor forma de descobrir é ligar os logs da lib e efetuar a pesquisa pela chamada da função RpcClearEnv, mais detalhes sobre os logs aqui: https://tdn.totvs.com/display/public/PROT/DT_Logs_de_Sistema

    Daniel Mendes   09 de Feb de 2022
  • Daniel, muito obrigado! utilizei os logs informados e consegui chegar no problema. Realmente tinha outra API chamando a RpcClearEnv. removendo isso, o errorlog parou de acontecer.

    Guilherme Blank   09 de Feb de 2022
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do TOTVS DevForum!

3 respostas

Não é a resposta que estava procurando? Procure outras perguntas com as tags rest advpl api ou faça a sua própria pergunta.