Troubleshooting
Os tópicos desta seção contém os passos para a resolução de problemas identificados no SoftExpert Suite.
Verificação de requisitos
A partir da versão 2.0.5, o SoftExpert Suite conta com um verificador de requisitos. Esse recurso é uma funcionalidade que é executada durante a inicialização do SoftExpert Suite e tem como objetivo garantir que o servidor está com todos os requisitos para a utilização do sistema. Caso algum requisito não atenda à utilização do sistema, o verificador irá exibir uma mensagem para indicar a configuração que precisa ser solucionada.
Veja a seguir algumas configurações que podem ser solicitadas para a inicialização do serviço do SoftExpert Suite:
Configurando o fuso horário (timezone) no Java
Por padrão o fuso horário utilizado no Java é o mesmo configurado no sistema operacional. Para iniciar o aplicativo com um fuso horário diferente do utilizado no sistema operacional é necessário indicar ao Java na inicialização do sistema através do atributo user.timezone, conforme exemplos:
SoftExpert Suite com Windows
▪ Executar o aplicativo "Tomcat monitor" (TOMCAT_HOME\bin\tomcat7w.exe)
▪ Acessar a aba Java
▪ Adicionar uma nova linha no campo "Java options" com o valor: -Duser.timezone=America/Sao_Paulo
O fuso horário utilizado no exemplo é o fuso horário oficial brasileiro, o identificador de outros fuso horários podem ser encontrados em: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones (Acessado em 08/09/2016).
Ajustando o horário de verão
Caso o sistema apresente a mensagem de divergência entre a configuração do horário de verão entre o Java e o PHP, o problema pode estar na versão da base de dados de fuso horário do Java, para atualizar a base de dados execute os passos:
▪ Caso esteja sendo utilizado o Java JRE, baixe o aplicativo "Timezone Updater Tool", disponível no site da Oracle; Caso esteja sendo utilizado o Java OpenJDK, baixe o aplicativo "ZIUpdater Time Zone Tool", disponível no site da Azul Systems.
▪ Execute o aplicativo com a mesma máquina virtual java utilizada pelo SoftExpert Suite com a linha de comando "java -jar tzupdater.jar -f". Para o Java OpenJDK, execute o comando "java -jar ziupdater-1.0.1.2.jar -f".
Se o diretório corrente não for o mesmo onde o tzupdater.jar estiver, utilize o caminho completo até o arquivo tzupdater.jar.
- Se for JVM Oracle, utilize o comando abaixo para atualizar o serviço:
"%JAVA_HOME%/bin/java.exe" -jar tzupdater.jar -v -f -l file:////tzdata2014a.tar.gz
Por exemplo:
"C:\Program Files\Java\jre1.8.0_101\bin\java.exe" -jar tzupdater.jar -v -f -l file:///Users/Administrator/Desktop/sesuitetz-windows/tzdata-latest.tar.gz
- Se for JVM OpenJDK, utilize o comando abaixo para atualizar o serviço:
"%JAVA_HOME%/bin/java.exe" -jar ziupdater.jar -v -f -l file:////tzdata2014a.tar.gz
Por exemplo:
"C:\Program Files\Java\jre1.8.0_101\bin\java.exe" -jar ziupdater.jar -v -f -l file:///Users/Administrator/Desktop/sesuitetz-windows/tzdata-latest.tar.gz
▪ Para comparar as versões da base de dados dos fuso horários do Java e do aplicativo, execute o comando "java -jar tzupdater.jar -V".
Configurando o fuso horário (timezone) no PHP
Para definir o fuso horário que será utilizado pelo PHP é necessário editar o arquivo php.ini (normalmente localizado em SESUITE_HOME\web\phpBaseclass\php.ini). Localize e edite a seguinte linha de acordo com o seu fuso horário:
date.timezone = America/Sao\_Paulo
O fuso horário utilizado no exemplo é o fuso horário oficial brasileiro, o identificador de outros fuso horários podem ser encontrados em: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones.
Solucionando problemas com JAVA
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | HD | "HD está com espaço livre de {ESPAÇO DISPONÍVEL EM DISCO} , quando deveria ser no mínimo 5GB." |
Solução |
---|
Liberar espaço físico na máquina |
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | JavaVersion | "A versão instalada do Java é a VERSÃO DO JAVA , quando deveria ser a 1.8." |
Solução |
---|
Remover a versão do java e instalar a versão correta |
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | TomcatMemory | "O servidor Apache Tomcat está configurado para utilizar até MEMÓRIA_CONFIGURADA MB de memória. É necessário pelo menos 1024 MB de memória. Verifique no Guia de instalação do sistema como realizar esta configuração." |
Solução |
---|
Para ambientes Windows, consulte o procedimento de configuração de memória, descrito na seção Instalação do Apache Tomcat. |
Solucionando problemas com php.ini
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | output_buffering | "Variável output_buffering com o valor VALOR , quando deveria ser 1. Verificar configuração no php.ini." |
GERAL | max_input_time | "Variável max_input_time com o valor VALOR , quando deveria ser no mínimo 300. Verificar configuração no php.ini." |
GERAL | memory_limit | "Variável memory_limit com o valor VALOR , quando deveria ser -1. Verificar configuração no php.ini." |
GERAL | post_max_size | "Variável post_max_size com o valor VALOR , quando deveria ser no mínimo 500M. Verificar configuração no php.ini."; |
GERAL | upload_max_filesize | "Variável upload_max_filesize com o valor VALOR , quando deveria ser no mínimo 500M. Verificar configuração no php.ini." |
GERAL | session.name | "Variável session.name com o valor VALOR , quando deveria ser se-authentication-token. Verificar configuração no php.ini." |
GERAL | session.gc_probability | "Variável session.gc_probability com o valor VALOR , quando deveria ser 0. Verificar configuração no php.ini." |
GERAL | session.gc_maxlifetime | "Variável session.gc_maxlifetime com o valor VALOR , quando deveria ser 86400. Verificar configuração no php.ini." |
GERAL | session.cache_expire | "Variável session.cache_expire com o valor VALOR , quando deveria ser 86400. Verificar configuração no php.ini." |
GERAL | opcache.enable | "Variável opcache.enable com o valor VALOR , quando deveria ser 1. Verificar configuração no php.ini." |
GERAL | opcache.memory_consumption | "Variável opcache.memory_consumption com o valor VALOR , quando deveria ser 256. Verificar configuração no php.ini." |
GERAL | opcache.interned_strings_buffer | "Variável opcache.interned_strings_buffer com o valor VALOR , quando deveria ser 128. Verificar configuração no php.ini." |
GERAL | opcache.max_accelerated_files | "Variável opcache.max_accelerated_files com o valor VALOR , quando deveria ser 70000. Verificar configuração no php.ini." |
GERAL | opcache.save_comments | "Variável opcache.save_comments com o valor VALOR , quando deveria ser 1. Verificar configuração no php.ini." |
GERAL | opcache.load_comments | "Variável opcache.load_comments com o valor VALOR , quando deveria ser 1. Verificar configuração no php.ini." |
GERAL | opcache.enable_cli | "Variável opcache.enable_cli com o valor VALOR , quando deveria ser 0. Verificar configuração no php.ini. |
GERAL | max_execution_time | "Variável max_execution_time com o valor VALOR , quando deveria ser no mínimo 200. Verificar configuração no php.ini." |
GERAL | session.save_path | "Variável session.save_path não foi configurada. Verificar configuração no php.ini." |
GERAL | date.timezone | "Variável date.timezone do Java (TIME_ZONE_DO_JAVA) deve ser igual à do PHP (TIME_ZONE_PHP). O Java utiliza o timezone definido pelo sistema operacional, enquanto que o PHP utiliza o valor definido no arquivo php.ini." |
Solução: |
---|
|1. Abrir o arquivo SUITE_HOME\web\php\php.ini e pesquisar pela variável da mensagem. |2. Verificar se existem outras variáveis iguais (repetidas).| |3. Se existir mais de uma variável igual, deve ser incluído ";" (um ponto-e-vírgula) no início da linha, para que a mesma seja comentada, assim a variável não será validada. Exemplo de variável comentada: ;cgi.force_redirect = 1 |Exemplo de variável válida (sem comentário): cgi.force_redirect = 1| |4. Após encontrar a variável, definir o valor correto, conforme descrito na mensagem.| |5. Salvar o arquivo e reiniciar o SoftExpert Suite.|
WINDOWS | realpath_cache_size | "Variável realpath_cache_size com o valor VALOR , quando deveria ser no mínimo 1024k. Verificar configuração no php.ini." |
---|---|---|
WINDOWS | cgi.force_redirect | "Variável cgi.force_redirect com o valor VALOR , quando deveria ser 0. Verificar configuração no php.ini." |
WINDOWS | fastcgi.impersonate | "Variável fastcgi.impersonate com o valor VALOR , quando deveria ser 1. Verificar configuração no php.ini." |
Solução: |
---|
1. Abrir o arquivo SUITE_HOME\web\php\php.ini e pesquisar pela variável da mensagem. |
2. Verificar se existem outras variáveis iguais (repetidas). |
3. Se existir mais de uma variável igual, deve ser incluído ";" (um ponto-e-vírgula) no inicio da linha, para que a mesma seja comentada, assim a variável não será validada. Exemplo de variável comentada: ;cgi.force_redirect = 1 |
Exemplo de variável válida (sem comentário): cgi.force_redirect = 1 |
4. Após encontrar a variável, definir o valor correto, conforme descrito na mensagem. |
5. Salvar o arquivo e reiniciar o SoftExpert Suite. |
Sistema | Parâmetro | Descrição |
---|---|---|
WINDOWS | Zend OPcache | "Não está habilitada a extensão zend_extension=ZendLoader.dll. Verificar configuração no php.ini." |
WINDOWS | memcache | "Não está habilitada a extensão extension=php_memcache.dll. Verificar configuração no php.ini."; |
WINDOWS | zip | "Não está habilitada a extensão extension=zip.dll. Verificar configuração no php.ini." |
WINDOWS | soap | "Não está habilitada a extensão extension=soap.dll. Verificar configuração no php.ini." |
WINDOWS | gd | "Não está habilitada a extensão extension=gd.dll. Verificar configuração no php.ini." |
Solução: |
---|
1. Abrir o arquivo SUITE_HOME\web\php\php.ini e pesquisar pela extensão descrita na mensagem. |
2. Verificar se existem outras extensões iguais (repetidas). |
3.Se existir mais de uma extensão igual, deve ser incluído ";" (um ponto-e-vírgula) no inicio da linha, para que a mesma seja comentada, assim a extensão não será validada. Exemplo de extensão comentada: ;zend_extension=php_opcache.dll |
Exemplo de extensão válida (sem comentário): zend_extension=php_opcache.dll |
4. Após encontrar a extensão, defina o valor correto, conforme descrito na mensagem. |
5.Salvar o arquivo e reiniciar o SoftExpert Suite. |
Solucionando problemas com templates
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | ...web\include\template | O template NOME_DO_ARQUIVO não é um template no formato JSON. |
Solução: |
---|
Entrar em contato com a SoftExpert. |
Solucionando problemas com servidor de aplicação
Sistema | Parâmetro | Descrição |
---|---|---|
GERAL | GET/POST/PUT/DELETE | O servidor de aplicação está configurado para bloquear requisições HTTP com o método METODO |
Solução: |
---|
Solução: Liberar requisições para o servidor de aplicação com o método requerido. Geralmente o módulo WebDav do IIS bloqueia por padrão alguns métodos. |
Solucionando problemas com NODE
Configuração de porta do banco de dados
Durante o CHECKSYSTEM (processo que valida o sistema durante sua inicialização), ocorre uma validação do serviço de exportação. Um dos problemas mais comuns que ocorre nesse serviço é ter uma porta específica definida que não está acessível pelo serviço. Dessa forma, recomenda-se atualizar o banco de dados diretamente, definindo, assim, uma porta automática (valor 0) ou específica para resolver essa situação.
Alteração pelo banco:
UPDATE bi2config SET nrportexport = 0 --Número da porta
WHERE oid = 1;
Pontos de verificação do Node.js
• Certificar-se de que a versão do node instalado é a versão 8.9.1.
• Todas as bibliotecas devem ser instaladas durante o processo de instalação.
• O path da TEMP precisa de todas as permissões corretas.
• O servidor precisa atender aos requisitos de memória, pois pode causar lentidão nas exportações ou falhas.
• Garantir que o servidor tenha as fontes utilizadas no sistema instaladas; o servidor precisa ter no mínimo a fonte Arial disponível.
• Garantir que, caso haja algum serviço de antivírus instalado no servidor, será necessário adicionar o SoftExpert Suite em uma lista de exceções de scanning de internet, em bloqueio a websites.
Servidor de indexação
O objetivo do servidor de indexação é realizar a extração dos dados de registros e arquivos do SoftExpert Suite para a indexação destes. Esses índices são utilizados em algumas consultas do sistema, além da consulta geral. Esse serviço funciona em paralelo com o sistema; ao inicializar o SoftExpert Suite, o serviço de indexação também é inicializado.
O servidor de indexação é composto por dois serviços importantes para o seu correto funcionamento, sendo eles:
Atlas
Atlas é o nome da engine interna desenvolvida pela SoftExpert que encapsula o motor de busca do Elasticsearch e dispõe de serviços para garantir uma melhor comunicação com o SoftExpert Suite. Esse serviço é utilizado nas consultas gerais e por componente.
Elasticsearch
O Elasticsearch é uma poderosa ferramenta de busca e indexação para buscas textuais (Full-Text Search). Uma de suas principais qualidades é a alta performance na busca, além de possuir adaptação a sistemas com Load Balance. Para mais informações, consulte o website do motor.
Veja a seguir os passos para verificar se o serviço está sendo executado:
Como saber se o Atlas e o Elasticsearch foram iniciados?
Ao subir um ambiente que esteja com suporte ao Elasticsearch, caso a engine tenha subido com sucesso, ela deverá criar (ou sobrescrever, caso já exista) os arquivos atlas.pid e elasticsearch.pid dentro do diretório 'SESUITE_HOME\system\tools\indexer'.
O Atlas/Elasticsearch não está no ar. O que devo fazer?
Caso você tenha subido o SoftExpert Suite e, mesmo assim, o serviço do Elasticsearch ou do Atlas não rodou juntamente, verifique, primeiramente, se as configurações de ambiente e da tabela SEFTSSETTINGS estão de acordo com o esperado. Se a configuração estiver correta, ou se o administrador do sistema tiver dúvidas quanto a essas configurações, deve-se entrar em contato com a equipe de suporte da Softexpert para analisar a situação.
Em algumas situações, esse serviço pode não funcionar de forma adequada. Segue abaixo uma lista de possíveis causas e suas soluções:
Porta bloqueada no FIREWALL
1. Para verificar a porta que está sendo utilizada no serviço do Atlas e do Elasticsearch, deve-se realizar a seguinte consulta:
#Port used by the Atlas service
SELECT NRENGINEESPORT FROM SEFTSSETTINGS
#Port used by the Elasticsearch
SELECT NRESPORT FROM SEFTSSETTINGS
2. Verifique se há alguma configuração de firewall no servidor bloqueando a porta do parâmetro NRENGINEESPORT ou do parâmetro NRESPORT. Após desbloquear as portas, será necessário reiniciar o sistema e verificar se o serviço de indexação está sendo executado.
Porta sendo utilizada em outro serviço
1. Execute o comando abaixo para verificar qual porta está sendo utilizada.
Exemplo:
#Ports used by the index server (Atlas/Elasticsearch)
SELECT NRESPORT, NRENGINEESPORT FROM SEFTSSETTINGS
2. Verifique se há algum outro serviço que esteja utilizando a porta dos parâmetros NRENGINEESPORT e NRESPORT. Se houver, altere para uma porta disponível.
IMPORTATE!
Nunca se deve executar comandos para alterar as portas ou outros parâmetros na tabela SEFTSSETTINGS sem uma análise prévia do impacto e sem antes consultar a equipe de suporte da SoftExpert.
Versão do sistema
O sistema verifica o versionamento dos pacotes com o objetivo de manter a estabilidade do SoftExpert Suite. Podem ser encontradas incompatibilidades entre as versões dos pacotes instalados/atualizados. Veja a seguir a solução para estabilizar o SoftExpert Suite:
-
Primeiramente, pare todos os serviços utilizados pelo SoftExpert Suite.
-
Execute o SoftExpert Configurator, que se encontra em SESUITE_HOME\tools\configurator. Na tela que ser abrir, acione o botão para equalizar a base:
- Após equalizar, reinicie o sistema.
Autenticação integrada
Para adiantar possíveis problemas no processo de sincronização e autenticação de usuários em um domínio, é possível testar a configuração do domínio na configuração de autenticação do sistema (CM008), na seção "Integração de diretório Domínios", no cadastro ou edição de um registro. Este procedimento irá testar a comunicação do servidor do SoftExpert Suite com os servidores de autenticação e diretório informados na configuração. O protocolo testado é o LDAP, utilizando a String de conexão, usuário e senha fornecidos.
Geralmente, a falha, no teste de conexão, ocorre se houver erros na configuração do domínio ou problemas nas conexões de rede entre o servidor do SoftExpert Suite e os servidores que hospedam os serviços de diretório e autenticação. Portanto é indicada a utilização de ferramentas para efetuar diagnósticos de conexão, ou o auxílio do administrador da rede para eventuais verificações de endereços e portas utilizadas na comunicação.
Possíveis retornos do teste de conexão:
▪ Mensagem de erro de conexão com o controlador de domínio: O servidor do SoftExpert Suite não conseguiu abrir uma conexão via protocolo LDAP utilizando a URL informada no campo "String de conexão". Verifique se o campo está preenchido corretamente e, caso não tenha sido especificado uma porta na própria URL, verifique se o servidor está aceitando conexões na porta 389 padrão do LDAP, ou ainda para as portas 636 e/ou 3269, padrões para LDAPS, ou contate o administrador do serviço de diretório para checar a disponibilidade do serviço.
▪ Mensagem de erro informando que o usuário não foi encontrado ou a senha está incorreta: A comunicação com o serviço de diretório ocorreu sem problemas, porém o usuário e senha informados nos campos "Usuário" e/ou "Senha" estão incorretos. Este usuário refere-se à um usuário cadastrado no serviço de diretório, portanto deve ser verificado se o nome e a senha estão de acordo com as informações registradas no serviço. Lembrando que no campo "Usuário" deve ser digitado o nome do mesmo, não o login.
Configuração do Outlook
Caso esteja ocorrendo problema no envio do anexo, ou seja, o destinatário não está recebendo o anexo do e-mail, possivelmente se trata de uma configuração no Microsoft Outlook. Nesta seção serão apresentadas algumas configurações que poderão ser realizadas no Outlook para resolver este problema.
Causa do problema
Esse é um problema comum que ocorre por causa do Outlook, onde quando é enviado uma mensagem no formato RTF ( Rich Text Format) e o mesmo não é convertido corretamente em HTML ou Texto sem formatação.
Soluções
Envio utilizando formato HTML ou Texto sem formatação
Um dos possíveis problemas é caso você esteja enviando o anexo no formato RTF e a mensagem não está sendo convertida corretamente em HTML ou como texto sem formatação. Neste caso, siga as seguintes etapas para resolver o problema.
- No Outlook, acesse o menu Arquivo > Opções (File > Options):
- Na tela de opções do Outlook, selecione o menu Email (Mail). Em seguida, na seção Redigir mensagens (Compose messages), selecione a opção "HTML" ou "Texto sem formatação" (Plain text) no campo Redigir mensagens neste formato:
- Ainda no menu Email da tela de opções do Outlook, localize a seção Formato da mensagem (Message format). Em seguida, certifique-se de que o campo Ao enviar mensagens em Rich Text para destinatários na Internet (When sending messages in Rich Text formato do Internet recipients) esteja configurado com a opção "Converter em formato HTML" (Convert to HTML format) ou com a opção "Converter em formato de texto sem formatação" (Convert to Plain Text format).
- Clique em OK para salvar as alterações.
Respondendo a um email
Caso seja necessário responder um e-mail recebido, para que não aconteça o problema de desaparecer o anexo ao responder uma mensagem, altere a formatação da mensagem para HTML. Para isso, primeiramente, abra o e-mail em modo de resposta. Em seguida, faça as seguintes configurações, de acordo com a sua versão do Outlook:
Caso a versão do Outlook seja 2003
i. Selecione a aba Formatação.
ii. Selecione a opção HTML.
Caso a versão do Outlook seja 2007
i. Selecione a aba Opções.
ii. Selecione a opção HTML.
Caso a versão do Outlook seja 2010, 2013 ou 2016
i. Selecione a aba Formatação de texto.
ii. Selecione a opção HTML.