Tempo aproximado para leitura: 00:10:00 min
Ocorrência
Ao acessar as novas telas Smart-UI do RM ocorre o erro abaixo:
Hum... Não consigo chegar a esta página
Ambiente
Framework - Linha RM - Frame - Todas as versões do sistema RM
Causa
Essa inconsistência pode ocorrer devido a configurações de ambiente, como falta de permissão para o usuário do serviço do host no diretório de instalação, ausência da reserva de portas para publicação de WS e API e inconsistência ao resolver o nome do domínio da máquina.
Recomendamos que sejam avaliadas as diretivas de segurança do ambiente, como firewall, antivírus, etc, pois esses podem bloquear o acesso as novas telas Smat-UI. Nesse sentido, orientamos que efetue os testes desabilitando-as e validando o comportamento, posteriormente, adicionando exceções para as portas e serviços do RM.
Conforme documento de portabilidade, o RM não está homologado para uso através de ferramentas de terceiros, como por exemplo, o Go-Global. Caso esteja utilizando o recurso, desative-o momentaneamente e valide o comportamento do sistema.
Solução
Para solucionar essa ocorrência, realize os seguintes passos:
1- Falta de permissão para o usuário do host
Identificar qual o usuário está definido para gerenciar o serviço de host do RM. Essa verificação poderá ser realizada através da ferramenta RM.Host.ServiceManager.exe disponível no diretório de instalação (...\TOTVS\CorporeRM\RM.Net).
Por default, durante a instalação da Biblioteca RM utilizando o instalador MSI, é sugerido utilizar o usuário NetworkServices, contudo o administrador poderá utilizar outros usuários para administração:
Caso utilize outro usuário administrador, diferente do usuário de serviço de rede (NetworkService), e não tenha realizado a reserva das portas WebService e WebApi será necessário reservar manualmente, conforme material de apoio a seguir: Cross Segmentos - Backoffice RM - Integração - WebServices - Como Habilitar Webservice via RM Host
Na sequência, reiniciar o serviços de host: Framework - Linha RM - Frame - Reiniciar Host
2- Permissão no diretório de instalação do RM
Validar se a pasta C:\TOTVS possui acesso com os privilégios do usuário configurado para instalar o serviço de host. Poderá ainda validar o acesso a pasta apresentada no caminho obtido pelo F12 na tela de erro do RM na MDI, como no exemplo do print abaixo:
Acessando a pasta http://servidor_app/rm-globais/ citada no exemplo do print acima para validar as permissões.
3- Falta de reserva de portas
Por padrão, o instalador MSI da Biblioteca RM efetua a reserva das portas dos serviços de host durante a instalação do sistema. Entretanto, após a instalação, caso sejam adicionadas novas portas de serviços, deverá efetuar a reserva das novas portas com o usuário com os privilégios do host.
Para mais informações, consulte link abaixo:
Cross Segmentos - Backoffice RM - Integração - WebServices - Como Habilitar Webservice via RM Host
Para confirmar se todas as portas configuradas no aplicativo RM.Host.ServiceManager.exe estão reservadas, acesse o CMD com usuário administrador e execute o seguinte comando:
netsh http show urlacl > c:\totvs\corporerm\showurclacl.log
No caminho indicado acima, localize o arquivo showurclacl.log
Abra o arquivo e confirme se todas as portas do serviço de host estão reservadas:
Por padrão o RM utiliza a porta 8050 para TCP (WCF), 8051 para WebService (HttpPort) e 8051 para WebAPI (ApiPort), mas isso pode ser configurado.
Veja mais sobre a configuração de portas Clicando Aqui.
Caso identifique que as portas não estão devidamente reservadas, poderá utilizar o comando abaixo para efetuar a reserva ao usuário administrador, NetworkService ou todos, para todas as portas desejadas:
Reservar porta WS e API, exemplos:
netsh http add urlacl url=http://+:8051/ user=NetworkService
netsh http add urlacl url=http://+:8051/ user=todos
netsh http add urlacl url=http://+:8051/ user=RM_Services
Excluir reservas de porta WS e API
netsh http delete urlacl url=http://+:8051/
Listar todas as portas reservadas no servidor:
netsh http show urlacl
O usuário utilizado na reserva das portas deve ser o usuário utilizado para instalação do serviço de host, como, por exemplo, padrão:
Após os ajustes acima, reinicie o serviço de host e acesse a URL para testar a exposição dos WS e API, também utilizado para carregar as novas telas web do produto RM.
http://localhost:8051/wspageindex/
http://servidor:PortaHttp/wspageindex/
Para o correto carregamento das telas, a tela abaixo deverá estar funcionando:
4- Inconsistência ao resolver o nome do domínio da máquina
Caso todos os itens acima tenham sido validados, mas a mensagem persista, a falha pode ocorrer devido ao ambiente não está reconhecendo o domínio/nome da máquina.
4.1- Identifique o IP cadastrado no arquivo config.json do seu Servidor de Aplicação (host)
No seu Servidor de Aplicação (host) acesse o caminho C:\TOTVS\CorporeRM\RM.Net\wwwroot\Config, edite o arquivo config.json, no mesmo poderá identificar o IP, como segue no exemplo abaixo:
4.2 - Inclusão das tags no arquivo RM.exe.config (das máquinas Servers e Clients)
Inclua as tags abaixo (substitua o DNS pelo IP já presente no arquivo de config.json no arquivo RM.exe.config (C:\TOTVS\CorporeRM\RM.Net)), no bloco appSettings em todas as máquinas, nos servidores e máquinas clients:
<add key="HTTP_BASEURL" value="http://DNS:8051" />
<add key="API_BASEURL" value="http://DNS:8051" />
Exemplo:
Importante
Confirme se o ambiente utiliza certificado, nesse caso a tag deve ser https, utilizando a porta externa de Webservice/API, exemplo:
Cenário de exemplo de portas Webservice e API diferentes:
O serviço de host está utilizando as portas 8050 para WCF (TCP), 8057 para WebService (HttpPort) e 8058 para WebAPI (ApiPort):
Ao acessar as novas telas Smart-UI apresenta o erro abaixo:
Ao acessar a URL para testar a exposição dos WS e API, também utilizado para carregar as novas telas web do produto RM, ocorre o erro:
URL:
http://localhost:8057/wspageindex/
Através do comando netsh http show urlacl > c:\totvs\corporerm\showurclacl.log é possível observar que as portas 8057 e 8058 não estão devidamente reservadas (passo 3 dessa documentação):
Para ajuste, é necessário efetuar a reserva das portas 8057 e 8058 seguindo os passos do item 3 desse documento:
Efetuar a configuração das tags do passo 4 desse documento no arquivo de configuração RM.exe.config:
URL para testar a exposição dos WS e API funcionando:
Telas Smart-UI funcionando corretamente:
Saiba mais
Para mais informações, consulte o link abaixo:
Configurando HttpPort e ApiPort
3 Comentários