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 protocoloco 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 |
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 |
Para habilitar o HTTP para REST criar a seção abaixo no appserver.ini:
[HTTPV11] Enable=1 Sockets=HTTPREST |
Parametro | 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 |
Exemplo de configuração de uma seção Sockets:
[HTTPREST] Port=8080 IPsBind= URIs=HTTPURI Security=1 |
Parametro | 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 |
Exemplo de configuração de uma seção URIs:
[HTTPURI] URL=/rest PrepareIn= Instances=1,1 |
Parametro | Descrição | Obrigatório |
---|---|---|
URL | Indica o endereço que será atendido Nesse exemplo http://localhost:8080/rest | x |
Preparein | Informações para preparação do ambiente das working threads | |
Instances | Configuração de inicialização de working threads | x |
Observaçoes |
---|
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 |
Seção [general], chave MaxStringSize