Consumo de API REST do Fluig a partir do Protheus

Estou tentando realizar através do Protheus o consumo de um webservice REST no Fluig.O Authorization é (oAuth 1.0), e estou tentando utilizar o FWREST (abaixo, parte da rotina)

cUrl := "https://empresaxyz.fluig.cloudtotvs.com.br/ecm-forms/api/v2/cardindex/6/cards"cAut := "?oauth_signature=a72c17bb269520f8b1b8e84f2887239f%262dcf5fcc-9b34-43db-...."aHeader := {}aadd(aHeader,'Cookie: JSESSIONID="NmG_jxvkTwvh7ZK9CQQtmT0fsF......"; JSESSIONIDSSO=kdwum8aJamvuaFALfgk8sFkghgdWDPh5l.....') aadd(aHeader, "Content-Type: application/json")oRest := FWRest():New(cUrl)oRest:setPath(cAut)oRest:Get(aHeader)cResult := oRest:GetResult()

Só para fazer um teste, primeiro executei o consumo do webservice pelo POSTMAN e obtive o conteúdo do "cAut" (que passo no SetPath).Também do POSTMAN, obtive o conteúdo do Cookie (que passo no aHeader).

Dessa forma, consegui obter no cResult o Json retornado pelo webservice.Porém como esses conteúdos estão (inicialmente) salvos no fonte, após algum tempo o JSESSIONIDSSO muda e a autenticação falha.

A dúvida é como obter o Cookie atualizado para poder utilizar na próxima requisição? Ou se tem outra forma de realizar esse consumo para um webservice REST com oAuth 1.0?

Precisei criar uma conexão "parecida" para o controle de documentos e ficou assim:


Local cRet := ""
Local cRetPost := ""
Local cURL := ""
Local oClientFluig
Local oJson

oClientFluig := FWoAuth1Fluig():New("ConsumerKey",;
                "ConsumerSecret",;
                "http://host:port",;
                "")
//-------------------------------------------------------
//Faz o pedido de Token e define o Token e o SecretToken.
//-------------------------------------------------------
//oClientFluig:RequestToken()
//token chumbado pois estava falhando no request 
oClientFluig:cSecretToken := "secretToken"
oClientFluig:cToken := "token"


If cTipo == "1"//cria pasta
    cUrl := "http://host:port/api/public/ecm/document/createFolder"
Else //cria documento
    cUrl := "http://host:port/api/public/ecm/document/createDocument"
EndIf

cRetPost := oClientFluig:Post(cUrl,"",cJson)

lAux := FWJsonDeserialize(cRetPost, @oJson)

If lAux .AND. ValType(oJson) $ "O/J"
    If AttIsMemberOf(oJson,"CONTENT") .AND. ValType(oJson:content) $ "O/J"
        cRet := cValToChar(oJson:content:id)
    Else
        cRet := ""
    EndIf
EndIf

Return cRet

Muito obrigado pela ajuda.O exemplo foi perfeito!