Páginas filhas
  • DFWKLOGIX-390 DT Falha de tratamento de erro BODY REST API (Versão 1)


01. DADOS GERAIS

Produto:

TOTVS Framework

Linha de Produto:

Linha Logix

Segmento:

Tecnologia

Módulo:

Framework (Linha Logix) - Integrações

Função:API REST (Versão 1)
País:Brasil
Ticket:
Requisito/Story/Issue (informe o requisito relacionado) :DFWKLOGIX-390


02. SITUAÇÃO/REQUISITO

Ao executar uma  requisição REST utilizando uma API LOGIX desenvolvida utilizando o padrão da versão 1 (compilação de arquivo no RPO com a estrutura da API no formato JSON), se no conteúdo da seção BODY da requisição REST existir uma lista (tipo array) com uma estrutura incorreta, usando apenas a definição como [],  ao invés de [{}], apresenta o seguinte erro:

argument error in function Len() on CREATE4GLINPUTPARMS(LAPIUTILS.PRW) line : 1313

03. SOLUÇÃO

Foi incluído algumas consistências de falhas para melhorar o detalhamento das mensagens no LOG do AppServer e permitir que a requisição REST retorne o código de erro STATUS 500 com uma mensagem mais objetiva com o detalhamento do problema.

A mensagem do problema ocorrido também é registrada no arquivo de LOG do AppServer, quando estiver em modo de execução DEBUG, para auxiliar no processo de avaliação do problema.

Exemplo:
[Thread 33208] [LOGIX][JOB] ERRO: [LAPIUTILS][Create4GLInputParms] Formato incorreto dos parametros de entrada da API. Falha na leitura do elemento da linha 17 precisa ser ARRAY. Tipo atual = U - [aInputs[17] -> U (    1) [ ]]
...

[INFO ][SERVER] [Thread 33208] JOB Thread finished [-THREAD_EXECUTE]
[Thread 16900] [DEBUG][2022-06-06 17:24:39] [LAPIUTILS][EXECUTEFUNCTION] API vdpr0005 - RETURN [{"msg":"Falha na criacao dos parametros de entrada da API vdpr0005.","msg_type":3,"status":0,"status_code":500}] [source: LAPIUTILS.PRW line: 1136 function: EXECUTEFUNCTION()]
[Thread 16900] [DEBUG][2022-06-06 17:24:39] [LAPIUTILS][EXECUTEFUNCTION] API vdpr0005 - Convertendo retorno para formarto RECORD 4GL [ -> OBJECT (    4) [...]
     :MSG -> C (   59) [Falha na criacao dos parametros de entrada da API vdpr0005.]


04. DEMAIS INFORMAÇÕES

Não se aplica.


IMPORTANTE!

Disponível a partir do pacote oficial 12.1.2209 ou Framework Fix 12.1.2205(fix01)

05. ASSUNTOS RELACIONADOS

Não se aplica.