Configurando o serviço REST via APWebWizard
O APWebWizard é responsável por fazer as atualizações no seu arquivo "appserver.ini" de acordo com sua necessidade para a criação dos serviços. Para iniciarmos, conforme imagem abaixo, realize a chamada via smartclient para o seu ambiente desejado:
1) Inicialmente, caso ainda não possua um serviço HTTP, precisaremos cria-lo, como no exemplo da imagem abaixo: Informando uma pasta do servidor com o caminho para os serviços Web, a porta do HTTP e o ambiente a ser utilizado. É importante selecionar também "Protocolo habilitado" para permitir ao servidor responder as requisições que chegarem!
2) 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". Conforme imagem abaixo, devemos configurar o socket com a porta do REST. É importante selecionar o item "habilitado" para permitir ao servidor responder as requisições que chegarem! Também é importante, marcar o item "Autenticação", para que os acessos sejam validados, visto que por padrão todos os serviços REST da TOTVS são públicos. Na parte inferior da imagem, devemos informar as configurações para a montagem da URL que estará disponível com a relação dos serviços a serem consumidos. Sendo possível configurar uma URL diferente para cada empresa, nesse caso sugerimos utilizar o nome da URL com o complemento da empresa para apoiar na identificação. No exemplo da imagem, como nossa empresa de teste é T1, o novo da URL seria "/restT1" Na segunda imagem desse item 2, podemos configurar as informações sobre o certificado SSL, lembrando que para esse caso também deverá ser configurado um server HTTPs para que possa responder das solicitações REST em SSL. Continuando nessa segunda imagem, devemos informar outros parâmetros: - "Habilitar Cors" deve estar marcado, assim como "Allow Origin" preenchido com '*' (asterisco) para permitir que o server possa responder requisições de outros servidores.
- "Endpoints publicos" deverá estar preenchido com as informações 'fwjwt/refresh_token,auth' , pois são os endpoints iniciais responsáveis pela autenticação e geração do token de acesso aos serviços.
Após a confirmação dessas configurações, deverá estar visualizando clicar no botão de confirmação, deverá ser possível visualizar a terceira imagem final da sequencia desse item 2 de configuração! Uma dica interessante: - É possível utilizar um servidor Protheus (AppServer) apenas com os serviços REST, sem a necessidade de configurar os outros jobs e webservices do padrão 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!
3) Nessa fase vamos criar um processo comum que criará um job para inicializar o serviço do REST criado anteriormente: Como na imagem abaixo, devemos informar: - O nome para o JOB.
- O ambiente relacionado para o serviço REST.
- Informar o nome da função que inicializa o serviço, obrigatoriamente: "HTTP_START"
- Marcar a opção "Habilitar job no start do servidor Protheus"
Image Added
Após o primeiro passo deve-se realizar a configuração no "appserver.ini" realizando a definição dos serviços REST. Os itens abaixo, devem ser incluídos/atualizados no seu arquivo atual do seu ambiente.
1) Deve ser criado algumas seções para a configuração do serviço REST: [HTTPV11] Enable=1 Sockets=HTTPREST [HTTPREST] Port=9103 URIs=HTTPENV1 SECURITY=1 [HTTPENV1] URL=/restT1 PrepareIn=T1 Instances=2,5 ENVIRONMENT=MeuEnv12117 CORSEnable=1 AllowOrigin=* Public=fwjwt/refresh_token,auth [HTTPJOB] MAIN=HTTP_START ENVIRONMENT=MeuEnv12117 [ONSTART] jobs=HTTPJOB RefreshRate=120 |
---|
A sessão "HTTPENV1" serve para configurar as questões de ambiente e a URL Rest para cada empresa. Deve ser criado uma sessão para cada empresa, por exemplo "HTTPENV2", "HTTPENV3", permitindo que possa ser configurado outras tags, como o "PrepareIn", responsável em configurar o environment sempre que o Rest receber uma requisição e necessitar criar uma thread para executar a solicitação. É importante a criação da tag URL para que o aplicativo consiga chegar adequadamente ao servidor, pois ela será utilizada quando for realizado a geração do QrCode. Nesse caso foi formada por: "/rest" concatenado com a empresa "T1". As sessões criadas acima são padrões para a configuração do serviço REST, e podem ser localizadas nas informações colocadas no link do inicio da página. Caso tenha configurado ambientes para várias empresas basta incluir as configurações na tag "URIs", exemplo: URIs=HTTPENV1,HTTPENV2
2) Em Seguida, criaremos a parte especifica para os serviços do aplicativo: [127.0.0.1:8081/T1] ENABLE=1 PATH=C:\TOTVS\Protheus\Protheus_Data\Web\PortalRHUnificado ENVIRONMENT=MeuEnv12117 INSTANCENAME=MeuRHT1 DEFAULTPAGE=index.html [RESTCONFIG] restPort=9103 RefreshTokenTimeout=300 meurhLog=1
|
---|
Nesse caso estamos criando uma sessão que será utilizada para o redirecionamento dos arquivos clientes do MeuRH e realizando a configuração do ambiente utilizado. Você poderá ter uma URL para cada empresa separada dentro da sua estrutura.
O endereço de exemplo "127.0.0.1" poderá ser um endereço para utilização apenas na sua rede local interna ou um endereço para acesso externo, assim permitindo que o aplicativo funcione quando os colaboradores de sua empresa estivem conectado fora da rede corporativa. A Porta de exemplo "8081" corresponde a sua tag "Port" configurada na sessão "HTTP" que já deverá existir no seu "appserver.ini", a mesma utilizada para os portais atuais da Totvs, como o portal do RH Gestão do Capital Humano. Na sessão "RESTCONFIG" são criadas tags utilizadas para o projeto MeuRH Protheus: - A tag "restPort" é obrigatória e deve ser preenchida com a mesma porta utilizada na sessão "HTTPREST" dentro da chave PORT, exemplo: "PORT=9103".
- A tag "RefreshTokenTimeout" é responsável por definir o tempo em que um acesso/token de autenticação será válido, caso não seja informado essa tag, o seu valor default é 600 (correspondendo a 10 minutos).
A tag "meurhLog" controla a geração de mensagens no "console.log" sobre o processo de autenticação/login do aplicativo MeuRH, apoiando em possíveis manutenções e acompanhamentos do processo. Por padrão, as mensagens sempre estarão sendo demonstradas no console, mesmo que a tag não exista no arquivo de inicialização "appserver.ini". Caso deseje que as mensagens não sejam mais demonstradas no console, basta declarar a tag "meurhLog=0", dentro da sessão "[RESTCONFIG]", para seja desabilitado.
|