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
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 !