01. DADOS GERAIS
Produto: | TOTVS Prestadores de Serviços Field Services
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | Serviços |
Módulo: |
TOTVS Prestadores de Serviços Field Services Management |
Função: | TECM200.PRW |
País: | Brasil |
Ticket: | 21464739 |
Requisito/Story/Issue (informe o requisito relacionado) : | DSERSGS-20547 |
02. SITUAÇÃO/REQUISITO
Ao realizar a busca dos produtos cadastros no Protheus no aplicativo Minhas Ordens de Serviço foi notado que a requisição estava retornando incompleta, ou seja, o JSON não estava sendo montado até o final, causando problemas no aplicativo já que a resposta não retornava como esperado.
03. SOLUÇÃO
Foi feito análise com time do TCloud para validar se não era problema no ambiente ou em outra configuração como o AppServer, em seguida verificamos com o time do Mingle que após análises identificamos que o problema se dava na comunicação Protheus → Mingle, já que o Mingle esperava o conteúdo da resposta com o parse de alguns modos específicos como diz o contrato de APIs do Mingle e o Protheus estava devolvendo com um outro padrão de conteúdo. Por tanto fizemos algumas alterações no fonte TECM200 no método getProduct.
A primeira alteração foi colocar o tipo de conteúdo da resposta do endpoint:
::SetContentType("application/json;charset=UTF-8")
E outra alteração foi usar a função EncodeUTF8() no final da resposta, para garantir que todo o conteúdo seria tratado como o Mingle espera:
Self:SetResponse( EncodeUTF8(cResponse) )
Isso resolveu o problema inclusive para palavras com acentuações.
04. DEMAIS INFORMAÇÕES
Não há
05. ASSUNTOS RELACIONADOS
- Não há