Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Card
label2) REST

2) Configurando serviço REST.

Nessa fase vamos habilitar o serviço REST no server Protheus:

Escolha a opção REST do menu, em seguida o item HTTPV11 e clique no botão "editar configurações". Precisaremos efetuar as configurações na parte superior (Configuração de Sockets) e inferior (Configuração de URIs).

Configuração de Sockets, preencha:

  • Marque a opção de "Habilitado".
  • Preencha o Nome → HTTPREST
  • Preencha Porta → De própria escolha, no exemplo abaixo usamos 9191.
  • Marque item "Autenticação".

Configuração de URIs, preencha:

  • Preencha o Nome → preferencialmente HTTPENV.
  • URL → obrigatório ter a expressão inicial "/rest", posteriormente a essa expressão pode complementar, por exemplo, com o identificador da sua empresa "/rest01" ou "/restT1".   
  • Empresa/Filial para preparação de ambiente → em geral informamos apenas o código da empresa, consequentemente, todas as filiais pertencentes serão atendidas.
  • Mínimo de Working Threads Ativas, Máximo de Working Threads Ativas, Mínimo de Working Threads Livres, Quantidade de Working Threads de Incremento (dependendo da quantidade de licenças de uso pode ser ajustado)
  • Habilitar Cors → deve estar marcado.
  • Allow Origin → preenchido com * (asterisco)
  • Endpoints Públicos → deverá estar preenchido com as informações: fwjwt/refresh_token,auth 


Após finalizar essa configuração, encontraremos as seguintes tags no arquivo "appserver.ini":

Card
label

[HTTPV11]
ENABLE=1
Sockets=HTTPREST

[HTTPREST]
Port=9191
SECURITY=1
URIs=HTTPENV
IPsBind=

[HTTPENV]
URL=/RESTT1
PrepareIn=T1,D MG 01
Instances=2,5,1,1
Public=fwjwt/refresh_token,auth
CORSEnable=1
AllowOrigin=*

Informações
titleEndpoints Públicos

Os endpoints públicos são APIs não exigem autenticação para que o server Protheus possa responder qualquer requisição!

Por exemplo, as APIs do MeuRH que pertencem aos processos de autenticação, visto que são nelas que os nossos serviços realizam as identificações e geração do token para que todas as APIs que necessitam de identificação possam ser executadas.

Nas informações acima, foram solicitados que estejam liberadas de autenticação as APIs:

  • fwjwt/refresh_token
  • auth

Complementando a informação, ao informar "auth" estamos liberando todos os endpoints desse serviço, que basicamente seria o mesmo que informar manualmente todos os métodos existentes até o momento, por exemplo:

  • auth/login, auth/logout, auth/isLogged, auth/isFirstLogin, auth/renewPassword, auth/resetPassword, auth/ChangePassWithLastPass

Você pode optar por informar manualmente ou todos de uma única vez!

Dica
titleDica interessante

É recomendado utilizar um servidor Protheus (AppServer) apenas com os serviços REST, sem a necessidade de configurar os outros jobs e webservices do padrão webex/soap referente ao portal tradicional Gestão do Capital Humano.

O aplicativo MeuRH utiliza somente serviços REST em sua utilização, sendo assim, permite a flexibilidade da criação de servidores separados, podendo, caso necessário, reinicializar um server sem prejudicar o outro!


Caso o cliente utilize licenças do tipo OnDemand, faz-se necessário informar de qual módulo as licenças serão consumidas. Essa informação deverá constar dentro do bloco [HTTPENV], contudo, não deve ser informado quando se utiliza o login Integrado ao Protheus. Abaixo um exemplo:

[HTTPENV]

MODULE=7



Card
label3) HTTPJOB

3) Configurando processo HTTPJOB.

Neste passo, iremos configurar o processo comum que criará um "JOB" para inicializar o serviço do REST criado anteriormente:

Como na imagem abaixo, devemos informar:

  • Nome do Job
  • Ambiente
  • Função Advpl → informar o nome da função que inicializa o serviço, obrigatoriamente: HTTP_START
  • Habilitar job no start do servidor Protheus → marcar opção


Após finalizar essa configuração, encontraremos as seguintes tags no arquivo "appserver.ini":

[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=P12127SISTDB

[ONSTART]
jobs=HTTPJOB

...