PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
FWRest Post
Versão:
.
Plataforma:
.
Complemento:
DB:
.
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário LUIZPSR LUIZPSR em 21/12/2018, 17:26 h
Local: SP  Registro: 26/02/2016  Postagens: 29
Boa tarde pessoal,

Estou desenvolvendo um Method POST para retornar um token em uma API de um fornecedor da empresa. Fiz o teste via SoapUI e conectou certinho, retornando o token desejado.

Na ferramenta SoapUI utilizei as configurações:
Method - POST
Endpoint - http://api.unilog-dev.cloud.bytecode.software
Resource - /auth

Transformando em uma rotina ADVPL, está retornando o erro "500 InternalServerError".

Abaixo a rotina desenvolvida.

------------------------------------------------------------

User function getToken()

Private aHeadOut := {}
Private cUniJason := ‘{"login" : "xxxxxxxxx","senha" : "123456789"}‘
Private oRest := FWRest():New("http://api.unilog-dev.cloud.bytecode.software")
     oRest:SetPath("/auth")
     oRest:SetPostParams(cUniJson)
     
     If oRest:Post(aHeadOut)
          conOut(oRest:GetResult())
        Else
             conout(oRest:GetLastError())
        Endif
        
Return(cToken)


Alguém poderia dar uma ajuda ?


Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário RDG.MAIA RDG.MAIA em 14/01/2019, 14:22 h
Local: SC  Registro: 28/01/2016  Postagens: 1
Boa tarde,

Sou iniciantes no ADVPL e estou com problemas para compilar um fonte de exemplo da internet se possível for alguém me orientar agradeço!

#Include ‘Protheus.ch‘
#Include ‘FWMVCDEF.ch‘
#Include ‘RestFul.CH‘
#INCLUDE ‘TBICONN.CH‘

User Function EREST()
Return

WSRESTFUL PRODUTOS DESCRIPTION "Serviço REST para manipulação de Produtos"

WSDATA CODPRODUTO As String

WSMETHOD GET DESCRIPTION "Retorna o produto informado na URL" WSSYNTAX "/PRODUTOS || /PRODUTOS/{}"

END WSRESTFUL

WSMETHOD GET WSRECEIVE CODPRODUTO WSSERVICE PRODUTOS
Local cCodProd := Self:CODPRODUTO
Local aArea    := GetArea()
Local oObjProd := Nil
Local cStatus := ""
Local cJson    := ""

::SetContentType("application/json")

DbSelectArea("SB1")
SB1->( DbSetOrder(1) )
If SB1->( DbSeek( xFilial("SB1") + cCodProd ) )
    cStatus := Iif( SB1->B1_MSBLQL == "1", "Sim", "Nao" )
    oObjProd := Produtos():New(SB1->B1_DESC, SB1->B1_UM, cStatus)
EndIf

cJson := FWJsonSerialize(oObjProd)

::SetResponse(cJson)


RestArea(aArea)
Return(.T.)

Erro-->>>

Compilação iniciada
[INFO] . Servidor/Ambiente: AppLocal/PROTHEUS
[14:03:57.382] COMPILE MESSAGE = NULL [Projeto: WebService]
Compilação finalizada (4.389 segs.)




Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário BRUNOSPERB BRUNOSPERB em 18/01/2019, 16:32 h
Local: RS  Registro: 26/01/2015  Postagens: 32
static function comunica(cChave , cPedido )
Local cUrl := "https://apigateway.serpro.gov.br/nfe-trial/1/"+alltrim(cChave)
Local nTimeOut := 120
Local aHeadOut := {}
Local cHeadRet := ""
Local oObj
Local cJson2 :=‘ ‘

aHeadOut := autentica()

cJson2 :=Httpget(cUrl, ‘‘,nTimeOut , aHeadOut)

if !empty(cJson2)

    if FWJsonDeserialize(cJson2,@oObj)
          processar(oObj, cPedido)
          freeobj(oObj)
     Else
          msgalert(‘Probelma na integração Erro 01, favor contatar a TI ‘)
     endif
else
     msgalert(‘Probelma na integração Erro 02, favor contatar a TI ‘)

Endif
Return
                                   

// função que será usada para autenticar quando tivermos o serviço contratado
static function autentica ()
Local aRet := {}


aadd(aRet,‘Authorization:Bearer 4e1a1858bdd584fdc077fb7d80f39283‘)
aadd(aRet,‘Content-Type: application/json‘)


return aRet










Bruno Sperb

Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário BRUNOSPERB BRUNOSPERB em 18/01/2019, 16:33 h
Local: RS  Registro: 26/01/2015  Postagens: 32
da uma olhada nesse exemplo que eu te mandei


Bruno Sperb

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal