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
SegmentoManufatura

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
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 padrão versão 1 (compilação de JSON no RPO com a estrutura da API), se o body da requisição estiver com um array com a estrutura incorreta, somente usando [],  ao invés de [{}] ocorre 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 de erros para melhorar o detalhamento no LOG e permitir que a requisição retorne código de erro STATUS 500 com uma mensagem de detalhamento do problema.

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


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

05. ASSUNTOS RELACIONADOS




Templatedocumentos