Bom dia, tudo bem?? Sou novo em programação ADVPL e estou com uma dúvida relacionado ao POST Json. Estou enviando um Json utilizando a classe FWREST, o retorno que recebo é o 200, utilizando getResult eu recebo as atualizações, porém quando vou lá no site e vejo o post, e eu não tenho atualização alguma. Alguém sabe me dizer o que pode ser isso??Segue montagem e envio do Json
// Montagem Json
Static Function SendTableMob(oObj)
Local nI
Local nX := 1
Local oMobAgile as object
// Local oJson as object
Local oModelCab := oObj:GetModel( "DA0MASTER" )
Local oModelIte := oObj:GetModel( "DA1DETAIL" )
Local nQtdLinhas := oModelIte:GetQtdLine()
U_SendMobPro(oModelCab:GetValue("DA0_CODTAB"))
oMobAgile := JsonObject():New()
oMobAgile["produtos"] := {}
For nI:= 1 to nQtdLinhas
If nX == 1
oMobAgile[‘codtab‘] := oModelCab:GetValue("DA0_CODTAB")
// oMobAgile["produtos"] := {}
EndIf
aAdd(oMobAgile["produtos"], JsonObject():new())
oMobAgile["produtos"][len(oMobAgile["produtos"])][‘cod‘] := AllTrim(oModelIte:GetValue("DA1_CODPRO",nI))
oMobAgile["produtos"][len(oMobAgile["produtos"])][‘prc‘] := oModelIte:GetValue("DA1_PRCVEN",nI)
oMobAgile["produtos"][len(oMobAgile["produtos"])][‘sts‘] := AllTrim(oModelIte:GetValue("DA1_ATIVO",nI))
// Enviando de 200 em 200 devido a timeout ao enviar um json maior do que isso.
If nX == 200
//If nX == 10
U_JsonMobAgile("DA0",oMobAgile )
FreeObj( oMobAgile)
oMobAgile := JsonObject():New()
oMobAgile["produtos"] := {}
nX := 0
Endif
nX ++
Next
If Len(oMobAgile["produtos"]) > 0
U_JsonMobAgile("DA0",oMobAgile )
FreeObj(oMobAgile)
Endif
return
// POST da função JsonMobAgile
REENCHE CABECALHO DA REQUISICAO
aHeader := {}
AAdd(aHeader, "Content-Type: application/json; charset=UTF-8")
AAdd(aHeader, "Accept: application/json")
Aadd(aHeader,‘Authorization: Bearer ‘ + cToken)
// INFORMA O RECURSO E INSERE O JSON NO CORPO (BODY) DA REQUISIÇÃO
//oRest:nTimeOut := 900000
//cJson := oJson:ToJson()
oRest:SetPath(cEndPoint)
oRest:SetPostParams(oJson:ToJson())
// REALIZA O M TODO POST E VALIDA O RETORNO
if oRest:Post(aHeader)
cError := ""
nStatus := HTTPGetStatus(@cError)
oRest:GetResult()
if ! nStatus >= 200 .And. nStatus <= 299
// MsgInfo("Registro enviado ao MobAgile.")
// else
MsgStop("Falha ao Enviar Dados: " + cError)
lRetorno := .F.
endif
else
lRetorno := .F.
oParseJSON := JsonObject():new()
oParseJSON:fromJson(oRest:CRESULT)
If(Valtype(oParseJSON:GetJsonText("message")) == "U")
MsgStop("Falha ao Enviar Dados: " + oRest:getLastError() + CRLF + DecodeUTF8(oRest:getResult(), "cp1252"))
Else
MsgStop("Falha ao Enviar Dados: " + oRest:getLastError() + CRLF + DecodeUTF8(oParseJSON:GetJsonText("message"), "cp1252"))
EndIf
endif
Olá, por favor, faça um teste utilizando o método SetChkStatus e enviando falso para ele, antes de chamar o método Post da FWREST.
— Daniel Mendes 10 de Mar de 2023Olá, Daniel. FIquei um tempo sem meus acessos Mas o que resolveu foi eu enviar parcelado de 50 em 50 ai consegui enviar
— psneves 03 de May de 2023