Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Cross Segmento - TOTVS Backoffice Linha Protheus - ADVPL - Erro Webservice: Rest Method for Resource[URL]Not Found,Please make sure the Content-Type or Accept of Request Header or Request Parameters is correct

time.pngTempo aproximado para leitura: 00:01:00 min

Dúvida
Após as últimas atualizações, o sistema apresenta erro ao utilizar a função HTTPSPOST.

Ambiente
Cross Segmento - TOTVS Backoffice (Linha Protheus)  – ADVPL – A partir da versão 11.80

Solução
Em análise ao seguinte incidente reportado:
WebPage -> C (  377) [REST Method for Resource[https://tpall2.2wglobal.com/WWLRestService]Not Found,Please make sure the Content-Type or Accept of Request Header or Request Parameters is correct!The Request should be like:
===============Request Method[POST]================
Parameters:
Message_Identifier  query  Required[true]
Message_Type  query  Required[true]
Headers:
Accept:application/json

]
"
Isso ocorre por conta de não estar passando no cabeçalho HTTP (aHeadOut) "Accept:application/json", pois da mesma forma, para determinar que tipo de representação é desejado no lado do cliente, o cabeçalho HTTP ACCEPT é usado. Ele terá um dos valores mencionados Content-Type. Da mesma forma o APPSERVER espera  a informação no cabeçalho.

Passando a informação " Accept:application/json " no cabeçalho HTTP na variável aHeadOut, gera a seguinte questão:

"WebPage -> C (  113) [Request Media Type[application/json] Error or Server setting Error for Content-Type! Actually it is not JSON Data]"

Ou seja o serviço não esta reconhecendo como Dados em formato JSON e isso ocorre também no Postman->




Para solução deve-se passar " Accept: */* " 

Postman:


No protheus->

Segue fonte de exemplo contendo as modificações necessárias:

#include 'protheus.ch'
#include 'parmtype.ch'
#Include "totvs.ch"

user function tstpost2() 

Local cPostUrl      := "https://tpall2.2wglobal.com:6443/WWLRestService"
Local nTimeOut      := 120
Local aHeadOut      := {}
Local cHeaderRet  := ""
Local sPostRet      := ""
Local cPostData  :=""
Local cMens      := 'Message_Identifier=JD&Message_Type=TruckPostion'

Aadd(aHeadOut,'Accept: */*') 
Aadd(aHeadOut,'Content-Type: application/json')

// formatado em JSON pelo link https://jsonformatter.curiousconcept.com/
cPostData := '{'  
cPostData +=  ' "truckLocation":{'  
cPostData +=      '"header":{'  
cPostData +=          '"partner":"JD",'
cPostData +=          '"carrier":"TRAN",'
cPostData +=          '"ediControlNo":"267753039",'
cPostData +=          '"timestamp":"201804170905210"'
cPostData +=      '},'
cPostData +=      '"eventDetail":['  
cPostData +=          '{'  
cPostData +=            '"licensePlate":"HKE5865",'
cPostData +=            '"latitude":"14.143777913430046",'
cPostData +=            '"longitude":"100.91526948374563",'
cPostData +=            '"updateDate":"201804170905210"'
cPostData +=          '}'
cPostData +=      ']'
cPostData +=    '}'
cPostData += '}'

 _cPostData := EncodeUTF8(cPostData)

 sPostRet := HttpPost(cPostUrl,cMens,_cPostData,nTimeOut,aHeadOut,@cHeaderRet)

if !empty(sPostRet)
  conout("HttpPost Ok")
  varinfo("WebPage", sPostRet)
else
  conout("HttpPost Failed.")
  varinfo("Header", cHeaderRet)
Endif

Return

Resultado esperado em build atualizada:




Obs. No teste foi utilizada a função HttpPost. Para o serviço acima testado, não se faz necessária a utilização da função HTTPSPost, pois o serviço em questão não exige certificado. 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 1

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _