IMPORTANTE: Antes de migrar o ambiente para a versão Java, é imprescindível que seja realizada uma avaliação dos requisitos de infraestrutura, disponíveis no link abaixo: As configurações requeridas pela Senior para o Glassfish estão disponíveis no link abaixo: http://documentacao.senior.com.br/gestaodepessoas/requisitosinfraestrutura/ http://documentacao.senior.com.br/fad/6.2.31/#informacoestecnicas/java/glassfish/configuracao-do-glassfish-emproducao.htm%3ftocpath%3dinforma%25c3%25a7%25c3%25b5es%252 0T%25C3%25A9cnicas%7CServidor%2520Java%2520EE%7CGlassFish%7C 10 A versão Java consome mais memória que a versão Delphi, então é de extrema importância que o ambiente do cliente seja previamente avaliado, identificando se comportará a migração ou se é necessária alguma mudança. Também está disponível uma FAQ com as principais dúvidas que ocorrem na migração para Java. Recomendamos a leitura desta FAQ para sanar eventuais dúvidas. A FAQ está disponível no link abaixo: http://documentacao.senior.com.br/gestaodepessoas/faqmigracao/index.htm Se todos os requisitos de infraestrutura foram atendidos e o ambiente estiver rodando corretamente, segue documento com as orientações do que deve ser verificado em problemas relacionados à Integração Financeira ou Contábil entre o Administração de Pessoal e o Gestão Empresarial ERP. Estas orientações envolvem situações de não conclusão da integração, títulos que não são integrados, lotes que não são integrados, mensagens de erro no processamento e outros. IMPORTANTE: TODOS os itens deste documento devem ser verificados ao utilizar a integração via Web Services (versão Java).
1. No SeniorConfigCenter (Diretório de Instalação do sistema > Senior): 1.1. Efetuar teste de conexão com Middleware: 1.2. Verificar se utilizam proxy (Conexões de Rede > Acesso à Internet): Observação: Caso utilize proxy, efetuar o procedimento abaixo: No SeniorConfigCenter, em: Conexões de Rede > Acesso à internet, item "Não utilizar proxy para os endereços iniciados com:", incluir os endereços abaixo: - Endereço do campo Servidor Gerenciador do Middleware;
- Endereço do campo URL do Servidor Java EE (incluir o endereço completo, inclusive a porta). 1.3. Habilitar log das instâncias do Administração de Pessoal e Gestão Empresarial: - Existe um Log gerado no processo de integração, seguir conforme abaixo: Criar a chave (caso não existir) "com.senior.vetorh.log_integration_sapiens_directory", informar no campo valor um caminho para salvar o log (exemplo: C:\log.txt). Após informado, o mesmo caminho irá aparecer nas configurações (no SeniorConfigCenter) na chave "Arquivo de Log da Integração Gestão Empresarial ERP", porém, deve ser informado antecipadamente no menu "Chaves" : Após informar esta chave, deve reiniciar os serviços e a aplicação, gerar o processo de integração e verificar o log gerado. O Administração de Pessaol irá gravar os XMLs enviados e recebidos na integração, e mais algumas informações sobre os serviços executados. A senha será removida dos XMLs. Para melhor visualização, basta copiar para um novo arquivo texto, salvar como.xml e abrir em qualquer navegador. Os XMLs de envio podem ser utilizados no SoapUI para tentar repetir alguma situação ou verificar se algum problema ocorre, se a chamada de web service do Gestão Empresarial é efetuada por fora do Administração de Pessoal.
- Habilitar o Log de Serviços (no sistema): Recursos > Implementações > Editor de web services, em: Arquivo > Opções, marcar a opção "Gerar log de chamada de Web services", informar um caminho para salvar, executar o processo até o momento que trava e analisar o log. - Habilitar também, os logs da instância do Middleware: No SeniorConfigCenter em Middleware > Logs de Execução, habilitar o Módulo "Administração de Pessoal". No botão Alterar informar um diretório para salvar os logs (um diretório da rede). Analisar estas informações.
OBSERVAÇÃO: Ao final do documento constam orientações sobre as informações no log. 1.4. Verificar se a URL do Servidor Java EE está correta (Middleware > Web Services). 2. No Glassfish: 2.1. Garantir que os WebServices do Administração de Pessoal e Gestão Empresarial estejam deployados (http://<servidor>:<porta>/seniordeploytool). 2.2. Verificar através do arquivo domain.xml (<dir instalação glassfish>\glassfish\domains\<dominio>\config\) se estão usando fuso horário através da chave "<jvm-options>-duser.timezone=gmt-3</jvm-options>";
O servidor do ERP e do módulo Administração de Pessoal deve possuir a mesma configuração de Horário. OBSERVAÇÃO: Esta não é uma chave padrão do Glassfish e deve ser utilizada sob demanda, em casos específicos, como por exemplo, em fuso horário do domínio, quando o cliente possui um servidor no Brasil e outro servidor no exterior, sendo impactado pela questão do fuso horário. Em algumas situações já tratadas anteriormente, identificamos que ao alterar esta chave para - 4 ao invés de -3, a integração passou a ocorrer corretamente, pois esta configuração corresponde ao Brasil. Caso esta chave não exista, não é necessário adicioná-la, uma vez que é utilizada em casos específicos. 2.3. Verificar o log do Glassfish (<glassfish>\glassfish\domains\<domínio>\logs\server.log) e buscar no log informações do momento em que ocorreu a integração com falha. 3. No Administração Pessoal e Gestão Empresarial: 3.1. Teste de multicamada de qualquer serviço no modo Síncrono e Assíncrono para ver se há retorno. Para este procedimento, deverá acessar os produtos (ambos) com o parâmetro mcdebug, menu: Diversos > Multicamada. 3.2. Consultar o Console dos Serviços para verificar se consta algum erro e se as requisições estão na tela e como estão (horário, parâmetros, etc) Menu: Recursos > Web Services > Console. 4. No Navegador: 4.1. Verificar se os WSDLs dos Web Services envolvidos estão ok (retornando no formato XML): Para Integração Financeira: http://<servidor>:<porta>/g5-senior-services/rubi_asynccom_senior_g5_rh_fp_integracaofinanceiraerp?wsdl http://<servidor>:<porta>/g5-senior-services/rubi_scheduledcom_senior_g5_rh_fp_integracaofinanceiraerp?wsdl http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_int_vetorh_titulos?wsdl http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_mfi_cpa_titulos?wsdl http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_mfi_cpa_alteratituloscp?wsdl http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_mct_imp_excluirnotafiscalentrada?wsdl http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_mct_imp_gravarnotafiscalentrada?wsdl Para integração Contábil: http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_mct_ctb_gerarlotectb?wsdl
http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_mct_ctb_importacaolctctb?wsdl http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_mct_ctb_processarlotectb?wsdl http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_int_vetorh_complementohistoricopadrao?wsdl Para Integração Fornecedor: http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_ger_cad_fornecedor?wsdl http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_int_vetorh_fornecedores?wsdl Para Pesquisas: http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_int_vetorh_abrangencia?wsdl Para Centro de Custo: http://<servidor>:<porta>/g5-senior-services/sapiens_synccom_senior_g5_co_int_vetorh_centrodecustos?wsdl Observações: -Substituir <servidor> e <porta> pela URL do Servidor Java EE informada no CFG. - O teste de acesso às URL s deve ser realizado a partir da máquina e sessão do usuário onde o SeniorMiddleware estiver executando (o usuário pode ser verificado através da guia Logon nas propriedades do Serviço). - Deve-se acessar TODAS as URL s da integração relacionada. Caso alguma URL de WSDL não esteja acessível: 1. Acessar o painel de administração do Glassfish (https://<servidor>:4848) e no menu: Applications > sapiens-g5-senior e/ou rubi-g5-senior verificar se o WS em questão está na listagem. Ex. 2. Caso o WS estiver na listagem, mas seu WSDL não estiver acessível, é indicativo que ocorreu algum erro durante ou após seu deploy, neste caso deve realizar o seguinte procedimento - Clicar sobre o menu Applications e fazer o reload do módulo em questão. Exemplo:
3. Se o WSDL do WS não ficar acessível após o procedimento de reload, será necessário fazer o redeploy dos WS do módulo através do SeniorUpdater (qualquer dificuldade ou dúvida sobre este item deve ser verificado com Aplicativos Tecnologia). 5. Outros itens a serem verificados: 5.1. Caso no log de alguma instância constar a falha: Out Of System Resources, indica ser falta de memória heap. OBS: Esta memória é utilizada pelas aplicações que são executadas undergroud via serviços do Windows (caso das instâncias do Administração de Pessoal e Gestão Empresarial que executam via multicamada). Existe no registro do Windows uma configuração referente, que fica no valor de sequência "Windows" em: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems, onde é possível aumentar esta memória. Caso isto seja necessário, deve-se verificar com o Suporte Aplicativos de Tecnologia. 5.2. Reiniciar o SeniorMiddleware (e de preferência o Glassfish também) a qualquer alteração no CFG. 5.3. Verificar na máquina servidora de aplicação/middleware/glassfish, se contém hífen em seu nome (hostname). Há uma limitação conhecida por experiência pratica em outros casos, onde o ambiente de multicamada de serviços não funciona devido á este caracter especial no nome. Trata-se de uma limitação de infraestrutura. Solução Temporária: Alterar manualmente a URL de Webservices no SeniorConfigCenter: Middleware > Web Services campo "URL do Servidor Java EE" informar o IP da máquina ao invés do hostname. Este contorno pode deixar de ter efeito caso a máquina troque de IP ou haja qualquer outro problema infra relacionado a isto. Solução Permanente: Reinstalar todos os sistemas Senior, após trocar o nome da(s) máquina(s) servidor(as), pois não há como realizar esta alteração nas instalações já existentes. Caso isto seja necessário, deve-se verificar com o Suporte Aplicativos de Tecnologia. 5.4. Se ocorrer erro de time out e o middleware for único para o Administração de Pessoal e para o Gestão Empresarial, ou seja, se for apenas uma instalação, no SeniorConfigCenter, em Middleware > Balanceamento de carga, devem existir pelo menos 2 sessões por usuário:
Ainda no SeniorConfigCenter, em Middleware > Balanceamento de carga, recomendamos verificar nas configurações avançadas do balanceamento de carga os campos: - Reiniciar instâncias após o uso de memória atingir: - Reiniciar instâncias após o tempo de execução atingir: http://documentacao.senior.com.br/fad/6.2.31/#central-deconfiguracao/cfgloadbalanceform.htm?highlight=balanceamento de carga 5.5 - Se ocorrer a mensagem java heap space no log da integração contábil ou financeira, recomendamos primeiramente verificar se a memória do Glassfish está configurada corretamente, o que pode ser realizado através da consulta do console do Glassfish (solicitar o apoio da área de Aplicativos Tecnologia para realizar esta análise). Se a memória do Glassfish estiver configurada corretamente, orientamos a validar as questões de infraestrutura que estão no início deste documento. Importante: Caso os procedimentos acima tenham sido verificados/ajustados e ainda assim a situação persistir, recomendamos efetuar o (re)deploy dos serviços (Administração de Pessoal e Gestão Empresarial ERP), para garantir que o cache dos agendamentos no Glassfish seja limpo. --------------------------------------------------------------------------------------------------------------------- --------------------------------------------------------------------------------------------------------------------- ------------------------------------------------------------------------------------------------------- Informações para análise do Log de Integração:
01/03/2016 08:05:00 00 Início da integração financeira - ERP (01/03/2016-08:05:00) 01/03/2016 08:05:00 00 01/03/2016 08:05:00 00 Código de cálculo: 313 11 - Cálculo Mensal 01/03/2016 08:05:00 00 Pendências selecionadas: 1 01/03/2016 08:05:00 00 01/03/2016 08:05:00 00 Requisição de webservice realizada com sucesso! 01/03/2016 08:05:18 00 Webservice iniciando processamento 01/03/2016 08:05:36 00 [OK] Pendência agrupada (quantidade: 1) - Inclusão - Número Título: "RH0000010G" Cálculo: 313 Empresa: 1 Filial: 1 Tipo Tít. ERP: 01/03/2016 08:05:36 00 "LFP" Série NF: "FIN" Fornecedor: 1 Transaçao: "90515" Vencimento: 05/04/2016 Entrada: 01/03/2016 Emissão: 01/03/2016 Valor: 01/03/2016 08:05:36 00 142,00 01/03/2016 08:05:36 00 Pendências integradas: 1 01/03/2016 08:05:36 00 Pendências não integradas: 0 01/03/2016 08:05:36 00 01/03/2016 08:05:36 00 Término do processamento: Integração Financeira - ERP (01/03/2016-08:05:36) A parte do log destacada em amarelo é gravada pelo executável do próprio usuário. A linha Requisição de webservice realizada com sucesso! indica o sistema conseguiu fazer a requisição do webservice agendado de integração financeira do RH (Scheduledcom_senior_g5_rh_fp_integracaoFinanceiraERP), e podemos considerar que o executável iniciado pelo usuário fez a parte dele. Caso esta mensagem não tenha aparecido no log, significa que o sistema não está conseguindo se comunicar com o servidor de middleware do RH. Neste momento o ambiente do ERP ainda não precisa ser verificado. Provavelmente alguma mensagem de erro deverá aparecer no log ou na tela. O problema pode estar ocorrendo na estação/ambiente do usuário ou o middleware do RH pode estar inacessível. Alguns itens que podem ser verificados nesta situação e estão informados em detalhe no início da documentação: a) Se o CFG do RH utilizado pelo usuário está correto (proxy, chaves, URL Java EE, configurações do middleware) b) Se o webservice citado acima está deployado (ele é do RH). c) Se a estação do usuário está conseguindo acessar o WSDL do webservice citado acima d) Se ambiente middleware do RH está iniciado (serviços, glassfish, etc...) Já a parte destacada em verde é gravada pela instância de webservice do RH. A linha Webservice iniciando processamento indica que o middleware agendou o webservice citado anteriormente e que ele já está em execução. Caso esta mensagem não tenha aparecido no log, significa que a estação do usuário conseguiu enviar a requisição do webservice agendado de integração financeira do RH, mas o middleware não conseguiu agendá-lo efetivamente, ou não está conseguindo executar este agendamento. Neste momento o ambiente do ERP ainda não precisa ser verificado, pois o problema está centralizado no ambiente middleware do RH. Alguns itens que podem ser verificados nesta situação e estão informados em detalhe no início da documentação: a) Se o CFG do RH utilizado pelo middleware está correto (proxy, chaves, URL Java EE, configurações do middleware) b) Se o console de webservices do RH exibe as tentativas de execução do webservice de integração financeira e o webservice agendado na segunda aba da tela c) Se o horário do glassfish está correto Caso a linha Webservice iniciando processamento estiver no log, e os erros estiverem ocorrendo após isto, podemos considerar que a parte do RH (sistema + ambiente) está executando corretamente. O sistema pode não estar conseguindo se comunicar com o servidor de middleware do ERP, ou o problema está centralizado no ambiente middleware do ERP. Alguns itens que podem ser verificados nesta situação e estão informados em detalhe no início da documentação: a) LOG gerado no arquivo informado na chave log_integration_sapiens_directory do RH b) Se o inst.ctrl e ambiente utilizados pela empresa do RH estão corretos (proxy, chaves, URL Java EE, configurações do middleware) c) Se o console de webservices do ERP exibe as tentativas de execução dos webservices requisitados pelo RH
d) Se os webservices do ERP estão deployados (pode-se verificar acessando o wsdl dos WS s). e) Se o servidor middleware do RH está conseguindo acessar os WSDLs dos webservices do ERP;