|
Bem Vindo, Visitante
|
Todos os Fórums
ADVPL
|
Imprimir
Enviar Para um Amigo Precisa estar Logado
|
|
|
Assunto: |
FWRest Post |
|
Versão: |
. |
|
Plataforma: |
. |
Complemento: |
|
|
DB: |
. |
Complemento: |
|
|
|
|
|
Mensagem do
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 ?
|
|
|
Mensagem do
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.)
|
|
|
Mensagem do
BRUNOSPERB
em 18/01/2019, 16:32 h
Local: RS Registro: 26/01/2015 Postagens: 33 |
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 |
|
|
Mensagem do
BRUNOSPERB
em 18/01/2019, 16:33 h
Local: RS Registro: 26/01/2015 Postagens: 33 |
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
|
|