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

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

Solucoes_totvs
Solucao TOTVS Framework

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linhas_totvs
LinhaLinha Logix

Segmento:

Segmentos_totvs
Segmento

Manufatura

Tecnologia

Módulo:

Modulos_cross_segmentos

Modulos_framework
ModulosFrameworkFramework (Linha Logix) - Integrações

Modulos_totvs_construcao

Modulos_totvs_juridico

Modulos_totvs_logistica

Modulos_totvs_manufatura

Modulos_totvs_rh

Modulos_totvs_saude

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 no desenvolvida utilizando o padrão da versão 1 (compilação de JSON arquivo no RPO com a estrutura da API no formato JSON), se o body da requisição estiver com um array com a no conteúdo da seção BODY da requisição REST existir uma lista (tipo array) com uma estrutura incorreta, somente usando apenas a definição como [],  ao invés de [{}] ocorre , apresenta o seguinte erro:

Bloco de código
languageruby
/*-------------------------------------------------------
THREAD ERROR ([25376], HTTP_WT_LOGIX12_IFX_LGPD_HTTPREST_URITESTE@_, THIS)   27/05/2022   21:58:51
argument error in function Len() on CREATE4GLINPUTPARMS(LAPIUTILS.PRW) 04/05/2022 14:35:03 line : 1313

03. SOLUÇÃO

Foi incluído o tratamento algumas consistências de erros 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 de mais objetiva com o detalhamento do problema.

Também foi emitido detalhamento em DEBUG de conteúdo dos parâmetros para permitir melhor 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.

Bloco de código
languageruby
titleExemplo:
[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.


Card documentos
InformacaoDisponível a partir do pacote oficial 12.1.2209 ou Framework Fix 12.1.2205(fix01)
TituloIMPORTANTE!

05. ASSUNTOS RELACIONADOS

Não se aplica.


Templatedocumentos