Árvore de páginas

Versões comparadas

Chave

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

O acesso ao dashboard Rastreabilidade de Demandas pode ser configurado as rotinas que utilizam a tecnologia PO-UI podem ser configuradas em dois formatos distintos: utilizando a porta multiprotocolo ou configurando o servidor HTTP manualmente. Segue detalhamento sobre cada uma das formas. Para que as rotinas executem corretamente, é necessário configurar apenas uma das duas opções.

...

1 - Porta Multiprotocolo (Recomendado)

Essa é a maneira mais simplificada e prática de se executar o dashboardas rotinas, porém só está disponível partir da versão LIB 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:

...

Para realizar a configuração da porta multiprotocolo, basta adicionar no arquivo de configuração do APPSERVER (appserver.ini), na seção GENERAL

...

a chave App_Environment

...

cujo o valor deve ser o nome do ambiente no qual os serviços rodarão. 

...

Apenas com esta configuração a rotina já deve ser executada corretamente, pois com a porta multiprotocolo todos os serviços necessários já são iniciados utilizando a mesma porta do servidor de aplicação.

Podem ser realizadas configurações adicionais relacionadas a porta multiprotocolo. Para maiores informações acesse a página Application Server - Porta Multiprotocolo

...

.


Dica

A utilização da porta multiprotocolo utiliza conexões seguras (SSL). Portanto, é necessário configurar corretamente os certificados digitais para que a execução das rotinas aconteça corretamente.

A conexão segura pode ser desativada adicionando a chave "MultiProtocolPortSecure=0" na seção DRIVERS do appserver.ini. Desta forma não se torna necessário configurar os certificados digitais.

Mais detalhes sobre as configurações necessárias estão descritas na página Application Server - Porta Multiprotocolo.


2 - Parâmetros MV_BACKEND e MV_GCTPURL

A segunda opção de configuração para utilização das rotinas, é através dos parâmetros MV_BACKEND e MV_GCTPURL. Para utilizar estes parâmetros, é necessário configurar um serviço REST e um serviço HTTP para utilização da rotina.

O parâmetro MV_BACKEND deve ser cadastrado, e o seu conteúdo deve ser a URL de comunicação com o serviço REST configurado.

O parâmetro MV_GCTPURL deve ser cadastrado, e o seu conteúdo deve ser a URL de comunicação HTTP configurado.


2.1 - Configuração do APPSERVER.INI para habilitar o serviço HTTP


Bloco de código
languagec#
[HTTP]
enable=1
port=8020
ENVIRONMENT=PRODUCAO
PATH=C:\TOTVS_12\protheus\protheus_data\http-root

Onde:

  • Enable = 1. Indica que o serviço HTTP está habilitado.
  • Port=8020. Indica a porta onde o serviço será iniciado. Pode ser utilizada qualquer porta disponível.
  • Environment=PRODUCAO. Nome do ambiente que será utilizado.
  • Path=<diretório>; O diretório deve ser uma pasta com o nome "http-root", que deve estar dentro do ROOT_PATH (protheus_data) do sistema.

Seguindo o exemplo acima, o valor que deve ser configurado no parâmetro MV_GCTPURL é: http://<ip-do-servidor>:8020/

Image Removed

  • Adicionar ao seu menu do Planej.Contr.Produção (SIGAPCP) a rotina PCPPEGGING, responsável pela execução do dashboard

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.

Image Removed

Também é possível conferir se o servidor rest multiprotocolo iniciou corretamente através do console, conforme exemplo abaixo:

Image Removed

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:

Image Removed

Abaixo um exemplo dos dois servidores rest rodando simultaneamente:

Image Removed

Dessa forma o novo REST Server proverá os serviços pro dashboard Rastreabilidade de Demandas, 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 *

...

Nota

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.

...

3- Habilitar o parâmetro MV_BACKEND com o endereço do servidor do serviço REST.

...


Para mais informações sobre as configurações do HTTP no appserver.ini, acesse a página Seção [HTTP].


2.2 - Configuração do APPSERVER.INI para habilitar o serviço REST.

Bloco de código
[ONSTART]
JOBS=HTTPJOB
REFRESHRATE=10

[HTTPJOB]
MAIN=HTTP_START
ENVIRONMENT=PRODUCAO

[HTTPV11]
Enable=1
Sockets=HTTPREST

[HTTPREST]
Port=5050
IPsBind=
URIs=HTTPURI

[HTTPURI]
URL=/rest
PrepareIn=T1,D MG 01 
Instances=1,1,1,1
CORSEnable=1
AllowOrigin=*

O exemplo acima irá iniciar o serviço REST na porta 5050, e com a URL /rest. Estas configurações podem ser alteradas nas respectivas chaves "Port" e "URL".

Aviso

Na chave PrepareIn, deve ser configurado o grupo de empresas e a filial que será utilizada pelo serviço.

Exemplo:

Grupo de empresas utilizado no ambiente é '01'. 

Código da filial utilizada é '10'.

A chave PrepareIn deve ser configurada da seguinte forma:

PrepareIn=01,10


Com a configuração do serviço REST conforme o exemplo, o valor que deve ser configurado no parâmetro MV_BACKEND é: http://<ip-do-servidor>:5050/rest/

Para mais informações sobre a realização da configuração do serviço REST,

4- Configurar no menu do módulo Planej.Contr.Produção (SIGAPCP) a chamada da rotina PCPPEGGING.

Erros comuns

  1. 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.
  2. 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.

Image Removed

Image Removed

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:

Image Removed

...

consulte a documentação de configuração do Web Service REST.