Há duas formas de se configurar o dashboard de Contratos, utilizando a porta multiprotocolo ou configurando o servidor HTTP manualmente. As duas formas são explicadas abaixo:
2.1 - Porta Multiprotocolo
Essa é a maneira mais simplificada e prática de se executar o dashboard, porém só está disponível a partir da versão 20200214 da LIB e do Appserver versão 7.00.191205P. Se possível, priorizar esse método, pois é o mais moderno e rápido.
Abaixo as etapas para se configurar:
- No seu appserver.ini, na seção GENERAL, deve-se incluir a chave App_Environment, cujo o valor deve ser o nome do ambiente que os serviços rodarão.
- Com a porta multiprotocolo ativa, deve-se configurar o SSL para uma conexão segura, caso não deseje usar SSL é possível desabilita-lo, mas isso não é recomendado. Para mais informações sobre essa configuração acesse a página Application Server - Porta Multiprotocolo
- Verifique se no seu RPO constam os fontes/recursos abaixo:
- Adicionar ao seu menu do Gestão de Contratos(SIGAGCT) a rotina CNTA330, responsável pela execução do dashboard
- Acessar a rotina, ela já pode ser executada
Com a porta multiprotocolo ativa, o Protheus executa o servidor rest na mesma porta TCP de comunicação do Protheus, diferente de antes, quando o serviço rodava numa porta distinta. Por exemplo, caso o Protheus rode na porta 1236, os serviços ficam disponíveis em [SEU IP]:1236/app-root/. É importante ressaltar essa diferença, pois ao tentar acessar os serviços rest pelo caminho anterior, o usuário pode achar que o serviço não está funcionando, quando na verdade está apenas acessando o caminho errado.
Também é possível conferir se o servidor rest multiprotocolo iniciou corretamente através do console, conforme exemplo abaixo:
Com a configuração da porta multiprotocolo os parâmetros MV_GCTPURL e MV_BACKEND não são mais necessários.
É importante ressaltar que a porta multiprotocolo cria um servidor rest distinto do que era configurado anteriormente, quando se criava as seções HTTP e HTTPREST, dessa forma é possível utilizar os dois servidores ao mesmo tempo. O servidor rest criado pela porta multiprotocolo é executado na camada do AppServer, por isso é mais veloz e possivelmente será o modelo mais utilizado no futuro, enquanto o Rest anterior é feito em Advpl.
É possível verificar se o servidor HTTPREST(modelo antigo) foi ativado corretamente pelo console.log conforme abaixo:
Abaixo um exemplo dos dois servidores rest rodando simultaneamente:
Dessa forma o novo REST Server proverá os serviços pro dashboard Meus Contratos enquanto o servidor rest antigo pode continuar funcionando provendo os serviços pra outras aplicações, por exemplo outros portais.
2.2 - Servidor HTTP
1 - Habilitar a Seção http do TOTVS Application Server e configurar as chaves Patch com o endereço de onde a aplicação deverá ser hospedada e XFrameOptions com o valor ALLOW-FROM *.
Exemplo de configuração:
[HTTP]
ENABLE=1
PORT=80
PATH=C:\AP_DATA\HTTP-ROOT
XFRAMEOPTIONS = ALLOW-FROM *
Obs.: A pasta HTTP-ROOT deve fazer parte do path, pois os arquivos serão descompactados nesse diretório.
Para mais informações, consulte: https://tdn.totvs.com/display/public/PROT/FwCallApp+-+Abrindo+aplicativos+Web+no+Protheus
2- Habilitar o parâmetros MV_GCTPURL com o endereço do servidor da aplicação.
Exemplo de Configuração | |
---|---|
MV_GCTPURL | http://localhost:80 |
3- Habilitar o parâmetro MV_BACKEND com o endereço do servidor do serviço REST.
Exemplo de Configuração | |
---|---|
MV_BACKEND | http://localhost:17115/rest |
4- Configurar no menu do módulo Gestão de Contratos a chamada da rotina CNTA330
Erros comuns
- ERR_CONNECTION_TIMED_OUT: verificar se a sua conexão com a internet está estável e as configurações do firewall/antivírus e do DNS estão corretas. Verifique através do comando PING se o IP está acessível da máquina que está tentando acessar a dashboard.
- ERR_CERT_AUTHORITY_INVALID: verificar se a sua configuração SSL foi feita seguindo as instruções da documentação do AppServer, caso tenha realizado a configuração corretamente verificar se o seu certificado ainda é válido. Para confirmar se o problema é relacionado ao certificado é possível desativar o SSL, para isso basta adicionar a chave MULTIPROTOCOLPORTSECURE=0 na seção do [Drivers] do AppServer.ini e a chave SecureConnection=0 na seção do ambiente no Smartclient.ini.
3. Configuração da seção Sockets [HTTPREST]: Ao abrir o Dashboard os campos de Empresa/Filial não carregam e é apresentada a mensagem Internal Error. Verifique se o parâmetro Security está igualado a 1, conforme a imagem:
Para mais informações consulte a documentação de configuração do Web Service REST.
4. Configuração da seção URIs [HTTPURI]: Ao abrir o Dashboard alguns Cards, e/ou os campos de Empresa ou Filial não carregam e no console do appserver é exibida a mensagem [INFO ][SERVER] timeout to accept new requisition. Aumente o número de threads disponíveis (de preferência 4 ou mais) na chave Instances, conforme a imagem:
Para mais informações consulte a documentação de configuração de Instances.