Matheus,
Isso ocorre, pois a API tem um retorno e a classe FWRest
efetuar o parser desse retorno, que acaba por não conter o status da requisição.
Para casos assim, o ideal é utilizar o método GetChkStatus
antes de efetuar a requisição, validando o status "no braço", veja um exemplo:
//-------------------------------------------------------------------
/*/{Protheus.doc} u_myPost
Exemplo de utilização da classe FWRest
@author Daniel Mendes
@since 04/06/2020
@version 1.0
/*/
//-------------------------------------------------------------------
function u_myPost()
local aHeader as array
local oRest as object
local nStatus as numeric
local cError as char
local jBody
aHeader := {}
oRest := FWRest():New("https://demo.simfrete.com")
//Endpoint
oRest:setPath("/RomaneioService/enviar" )
//Cabeçalho de requisição
aAdd(aHeader,"Accept-Encoding: UTF-8")
aAdd(aHeader,"Content-Type: application/json; charset=utf-8")
jBody := JsonObject():New()
jBody["wsEmp"] := "empresa"
jBody["wsUsr"] := "usuario"
jBody["wsPwd"] := "senha"
jBody["fornecedorCnpj"] := "00000000000000"
jBody["chaveNfe"] := {"00000000000000000000000000000000000000000000"}
jBody["romaneioEmissao"] := "2018-12-05T12:00:00"
jBody["motorista"] := "João"
jBody["placa"] := "AAA-1234"
jBody["tipoCarregamento"] := "FRACIONADO"
jBody["numeroErp"] := 8
oRest:SetPostParams(jBody:toJson())
oRest:SetChkStatus(.F.)
if oRest:Post(aHeader)
cError := ""
nStatus := HTTPGetStatus(@cError)
if nStatus >= 200 .And. nStatus <= 299
if Empty(oRest:getResult())
MsgInfo(nStatus)
else
MsgInfo(oRest:getResult())
endif
else
MsgStop(cError)
endif
else
MsgStop(oRest:getLastError() + CRLF + oRest:getResult())
endif
return nil
Documentações:
https://tdn.totvs.com/display/framework/FWRest
https://tdn.totvs.com/display/tec/Classe+JsonObject
https://tdn.totvs.com/display/tec/HTTPGetStatus
Matheus, normalmente não existe diferença alguma ao consumir um serviço https. Consegue colocar o exemplo do que você está fazendo?
— Daniel Mendes 03 de Jun de 2020Segue o código abaixo.
— Matheus José 04 de Jun de 2020