Você está na página 1de 3

14/07/2022 15:34 01.

Configuração - Frameworksp - TDN


Páginas / … /
01. Web Services REST/Server

01. Configuração
Tempo aproximado para leitura: 4 minutos
O web service REST do AdvPL não utiliza as seções HTTP e WebServices utilizadas para o configurar
o modelo SOAP.
Apesar disso o REST também utiliza working threads para atender as requisições recebidas também pelo protocolo HTTP.

Observações

O protocolo HTTP do REST não atende a outros tipos de requisições como o HTTP do SOAP (que também atende arquivos estáticos, APW e APL)

 A chave MAXSTRINGSIZE é obrigatória na seção GENERAL com valor mínimo 10 para que o REST suporte requisições com mais de 1Mb 

 Alteração de comportamento
A partir da release 12.1.33 do Protheus, a ser liberada em Outubro de 2021, o comportamento padrão de autenticação de WebServices SOAP e
REST será alterado. A partir desta versão, caso a chave Security não seja informada no arquivo appserver.ini, os serviços serão iniciados
exigindo autenticação de usuário. Caso seja necessário trabalhar sem autenticação, a chave deverá ser configurada com o valor 0 (Exemplo:
Security=0).

A função HTTP_START que prepara o Application Server como HTTP para REST, devendo ser configurada na seção ONSTART:

[GENERAL]

MAXSTRINGSIZE=10

[ONSTART]

JOBS=HTTPJOB

REFRESHRATE=120

[HTTPJOB]

MAIN=HTTP_START

ENVIRONMENT=environment

Seção HTTPV11 

Para habilitar o HTTP para REST criar a seção abaixo no appserver.ini:

[HTTPV11]

Enable=1

Sockets=HTTPREST

Parâmetro Descrição Obrigatório

Enable Indica se o HTTP esta habilitado x

Sockets Seções com configuração de porta e URL (pelo menos uma seção) x

A chave Sockets referencia a(s) seção(ões) com a configuração de porta e URL que a mesma ira atender, permitindo que o Application Server seja
configurado com mais de uma porta HTTP do REST:

[HTTPV11]

Enable=1

Sockets=HTTPREST,HTTPREST2

Seções Sockets 

Exemplo de configuração de uma seção Sockets:

[HTTPREST]

Port=8080

IPsBind=

URIs=HTTPURI

Security=1

https://tdn.totvs.com/pages/viewpage.action?pageId=185747842 1/3
14/07/2022 15:34 01. Configuração - Frameworksp - TDN

Parâmetro Descrição Obrigatório

Port Porta HTTP x

IPsBind Indica os IPs que serão atendidos por essa porta, se não informado atenderá qualquer IP / DNS associado ao
servidor

URIs Seções com configuração de URL e ambiente (pelo menos uma seção) x

Security Indica se a autenticação de requisição esta habilitada x

Observação

O HTTP do REST verifica existência do campo Authorization no HEADER da requisição, porém a autorização é realizada pelo framework do produto
que esta utilizando o protocolo

Para facilitar o desenvolvimento e testes pode-se configurar a chave Security com valor 0 (zero) para desabilitar a autenticação

A chave URIs referencia a(s) seção(ões) com a configuração da URL que a porta irá atender, permite também que seja configurado com mais de uma
URL:

[HTTPREST]

Port=8080

IPsBind=

URIs=HTTPURI,HTTPURI2

Security=1

Seções URIs 

Exemplo de configuração de uma seção URIs:

[HTTPURI]

URL=/rest

PrepareIn=

Instances=1,1

Public=classe/path/get1,classe2/path/gety,classe3/path/post

NoTenant=classe/path/get2,classe2/path/getv,classe3/path/post2

Parâmetro Descrição Obrigatório

URL Indica o endereço que será atendido


x
Nesse exemplo http://localhost:8080/rest

Preparein Informações para preparação do ambiente das working threads

Instances Configuração de inicialização de working threads x

Public Chave pública que contém listas de EndPoints que não possuem autenticação

NoTenant Ao ser usada não será validada as empresas/filiais, apenas a autenticação do usuário

Observações

A preparação de ambiente da chave PrepareIn é realizada pelo framework do produto que esta utilizando o protocolo 

A chave Instances é configurada como no HTTP do SOAP

A chave Public precisa ser utilizada com muita cautela, visto que ela desliga a segurança do endpoint permitindo acesso a qualquer um que conheço
o endereço

Conexões TLS no AppServer


A partir da versão 17.3.0.20 do AppServer e LIB Label 20200727, o REST Server terá suporte ao TLS1.1 e TLS1.2.
Para que a configuração fique de acordo com o SSL já utilizado pelo binário, utilize o meio de configuração já existente.
No INI do REST, na Seção HTTPREST, adicione a chave a ser utilizada:
TLS1_0=1

TLS1_1=1

TLS1_2=1

https://tdn.totvs.com/pages/viewpage.action?pageId=185747842 2/3
14/07/2022 15:34 01. Configuração - Frameworksp - TDN

Valores válidos

Valor Descrição

0 (default) Desabilita

1 Habilita

Exemplo
[HTTPREST]

Port=8040

URIs=HTTPURI

SECURITY=1

SSL2=0

SSL3=1

TSL1_0=0

TSL1_1=1

TSL1_2=1

A chave TLS1 foi mantida por compatibilidade, exemplo de utilização:

Valores válidos

Valor Descrição

0 (default) Desabilita

1 TLS 1.0

2 TLS 1.1

3 TLS 1.2

Exemplo
[HTTPREST]

Port=8040

URIs=HTTPURI

SECURITY=1

SSL2=0

SSL3=1

TLS1 = 3

 A chave TLS1 está mantida em modo de compatibilidade. Isso significa que a atualização da aplicação irá funcionar adequadamente, porém
esta chave deve ser substituída pelas novas versões TLS1_0, TLS1_1 e TLS1_2. Caso quaisquer das novas chaves do protocolo TLS sejam
encontradas no arquivo de configuração, a aplicação não reconhecerá as informações contidas na TLS1.

Veja também
Instances 
Seção OnStart -- 29403
Seção [general], chave MaxStringSize

framework rest server http api framespdev

Política de Termos
privacidade de uso

https://tdn.totvs.com/pages/viewpage.action?pageId=185747842 3/3

Você também pode gostar