REST em TL++ nova documentação

Bom dia,

Estou tentando utilizar o TLPP para desenvolver os WS em REST conforme a nova documentação disponibilizada: https://tdn.totvs.com/display/tec/Rest

Porém ao requisitar o serviço criado, ocorre o error log abaixo:

THREAD ERROR ([9124], THREAD_POOL, 2597C6299A475E49B7ADE27F3564AF4C) 04/08/2020 09:23:47 invalid property SERVERTLPPDATA on TLPP.REST.RESTPROTECTED:VADERTHREADPOOLSERVERTLPPDATA(CLASSRESTPROTECTED.TLPP) 28/07/2020 09:44:44 line : 363

[TOTVS build: 7.00.191205P-20200424] Called from TLPP.REST.RESTPROTECTED:VADERTHREADPOOLAUTHORIZATIONSCHEME(CLASSRESTPROTECTED.TLPP) 28/07/2020 09:44:44 line : 376 Called from TLPP.REST.REST:GETTHREADPOOLAUTHORIZATIONSCHEME(CLASSREST.TLPP) 28/07/2020 09:44:44 line : 2498 Called from TLPP.REST.MANAGERSTATICS(MANAGERSTATICS.TLPP) 28/07/2020 09:44:44 line : 49 Called from TLPP.REST.REST:INIT(CLASSREST.TLPP) 28/07/2020 09:44:44 line : 282 Called from TLPP.REST.HANDLEREST(FUNCTIONREST.TLPP) 28/07/2020 09:44:44 line : 48

Alguém já conseguiu desenvolver nessa nova forma?

Ia abrir uma pergunta sobre isso agora. Estou com o mesmo problema. Estou usando a release 27, e com o ambiente configurado conforme documentação do TDN e usando o exemplo do Hello World.

Compartilhe conosco o fonte para analise. Me parece que você não está colocando o escopo de variavel mas preciso ver a fonte.

No meu caso é apenas isso:


#include 'tlpp-core.th'
#include 'tlpp-rest.th'

@Get("/test/helloWorld")
User Function helloWorld()
	Local cReturn := "Meu primeiro REST em TL++ "
	oRest:setResponse(cReturn)
Return .T.

Exatamente conforme o exemplo e as configurações básicas.

Segue tambem INI:


[HTTPSERVER]
Enable=1
Servers=HTTP_REST

[HTTP_REST]
hostname=localhost
port=8099
locations=HTTP_ROOT

[HTTP_ROOT]
Path=/
RootPath=root/web
;DefaultPage=index.html
ThreadPool=THREAD_POOL
​
[THREAD_POOL]
Environment=REST
MinThreads=1

Aqui consegui compilar e usar normalmente. Só tive que adicionar o include (#INCLUDE “TOTVS.CH”).
Você atualizou o tlpp.rpo na pasta do appserver com o disponível na pagina ? Downloads - TOTVSTEC - TDN

Sim, uma das primeiras coisas que fiz foi isso.

Poderia mandar um exemplo do INI do seu server? Percebi que no meu AppServer aparece a mensagem HTTPSERVER - Key not valid: tlppdata in: SERVERS Porém a opção está de acordo com a documentação. Já tentei passando em arquivo e JSON.

Meu INI está idêntico ao do Gabriel, pois copiei diretamente o exemplo da TOTVS também, e infelizmente não está funcionando =(

A unica coisa que fiz fora isso foi deixar tudo atualizado, RPO, Appserver, Lib e tlpp.rpo – O meu INI tbm está igual ao do exemplo do portal, só com o AMBIENTE diferente “Environment=REST”, Só troquei o “REST” pelo outro ambiente que tenho… Manda o console.log aqui pra gente ver se tem alguma coisa que possa ser interessante …

Duvida, como vocês estão chamando a função ??? Browser ou postman ??? http://localhost:8099//test/helloWorld ???

Qualquer forma de chamar causa o problema, direcionou para rota via Postman ou Navegador da a mesma coisa. Quanto a atualização, eu instalei minha base semana passada, usando o novo instalador da Release 27. Tá tudo atualizado.

Eu configurei meu .ini com essas configurações e não consigo abrir aquela pagina inicial que antes abria para o REST antigo. onde eu digitava: http://localhost:8095/rest e ele carregava tudo.
Voce sabe me dizer se essa nova configuração tem essa pagina inicial tb?

Lucas, segue o console conforme solicitado.

Como falei em um dos comentários anteriores, achei estranho esse warning, e o erro que ocorre nas requisições: SERVERTLPPDATA, parece ter a ver com esta chave do INI tlppData. Já configurei ela de todas as formas documentadas e sem ela, e o problema é o mesmo.

[WARN ][SERVER] HTTPSERVER - Key not valid: tlppdata in: SERVERS

:warning: Atenção: Esta publicação foi transferida automaticamente do fórum antigo, mas os anexos não foram incluídos.

A unica coisa que achei de diferente foi o seu appserver que está desatualizado.

Segue abaixo a minha versão.

*** TOTVS S/A ***
*** www.totvs.com.br ***

  • TOTVS - Build 7.00.191205P - Jun 29 2020 - 21:39:23
  • Build: 64 bits
  • SVN Revision: 27206
  • Build Version: 19.3.0.5

Atualizei o Appserver para 19.3.0.5 funcionou certinho!! Obrigado pela força Lucas.

Funcionou!!! Muito obrigado

Alguém sabe como conseguir o tlpp-rest.th, eu extrai do rpo do tlpp mas não saiu esse arquivo th somente o core e o object

Vinicius, seu tlpp.rpo está atualizado conforme a versão do seu appserver? Downloads - TOTVSTEC - TDN

Ao Atualizar o appserver para a versão 19.3.0.5, funcionou !