Solução de Problemas: mudanças entre as edições

De BIS Wiki
Ir para navegação Ir para pesquisar
 
(2 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 122: Linha 122:
A tabela pode estar corrompida, e definir <pre>innodb_force_recovery=1</pre> pode fazer com que o mysql tente recuperar a tabela durante o dumping. Caso faça a alteração no arquivo de configurações, convém retornar para configuração original depois de usar/recuperar a tabela.
A tabela pode estar corrompida, e definir <pre>innodb_force_recovery=1</pre> pode fazer com que o mysql tente recuperar a tabela durante o dumping. Caso faça a alteração no arquivo de configurações, convém retornar para configuração original depois de usar/recuperar a tabela.
|}
|}
== WildFly ==
{| class="wikitable" style="width:100%;"
!scope="col"| Erro / Problema
!scope="col"| Causas / Solução
|-
|rowspan="1" style="vertical-align:middle;width:30%"|<center><b>WildFly (Linux) falha para fazer o UnDeploy da aplicação.</b></center>
|
'''Causa 1: '''
Apresenta a a mensagem dizendo que a operação está/é muito demorada:
'''Solução:'''
Realizar o UnDeploy manualmente:
* Faça login no console da máquina;
* Pare o servidor com '''sudo service wildfly stop'''
* Exclua o diretório temporário: '''/opt/wildfly/standalone/tmp'''
* Edite o arquivo de configurações do servidor '''standalone.xml''' - '''sudo nano /opt/wildfly/standalone/configuration/standalone.xml'''
* Ao final do arquivo, exclua o bloco de tags de marcação do deploy do BIS
<pre>
<deployments>
    <deployment name="BISEAR-10.0.ear" runtime-name="BISEAR-10.0.ear">
        <content sha1="90adcb3cec36bfc6a2022e7a8ca2919a6877534a"/>
    </deployment>
</deployments>
</pre>
* Inicie o servidor com '''sudo service wildfly start'''
|}


== GlassFish ==
== GlassFish ==
Linha 171: Linha 202:
keytool -delete -keystore cacerts.jks -alias equifaxsecureglobalebusinessca1
keytool -delete -keystore cacerts.jks -alias equifaxsecureglobalebusinessca1
keytool -delete -keystore cacerts.jks -alias verisigntsaca
keytool -delete -keystore cacerts.jks -alias verisigntsaca
keytool -delete -keystore cacerts.jks -alias quovadisrootca
keytool -delete -keystore cacerts.jks -alias thawtepremiumserverca
keytool -delete -keystore cacerts.jks -alias thawteserverca
keytool -delete -keystore cacerts.jks -alias soneraclass2ca
keytool -delete -keystore cacerts.jks -alias soneraclass1ca
keytool -delete -keystore cacerts.jks -alias thawtepersonalfreemailca
keytool -delete -keystore cacerts.jks -alias globalsignr2ca
</pre>
</pre>
}}
}}
Linha 258: Linha 296:
!scope="col"| Erro / Problema
!scope="col"| Erro / Problema
!scope="col"| Causas / Solução
!scope="col"| Causas / Solução
|-
|style="vertical-align:middle;width:30%"|<center><b>Lote Cheio</b></center>
|
# Entrar no modo adminsitrativo > Rede > Administrativo > Funções Especiais > Função: 93 > Senha: 9208 (mudou para 1111)
|-
|-
|style="vertical-align:middle;width:30%"|<center><b>TENTE NOVAMENTE - LC</b></center>
|style="vertical-align:middle;width:30%"|<center><b>TENTE NOVAMENTE - LC</b></center>
Linha 294: Linha 336:
[http://ead.ntk.com.br/documents/pin_pad/PIN%20PAD%20-%20ERRO%20EMV.pdf Fonte]
[http://ead.ntk.com.br/documents/pin_pad/PIN%20PAD%20-%20ERRO%20EMV.pdf Fonte]
|}
|}


=== CIELO ===
=== CIELO ===

Edição atual tal como às 21h58min de 25 de novembro de 2021

Página dedicada a anotação todos os problemas e soluções dos problemas que passamos com o ambiente, ferramentas, desenvolvimento e assim por diante relacionados ao funcionamento do BIS.

Java

Erro / Problema Causas / Solução
Diferença de 1 hora no horário do Java. Horário e Verão começando/terminando em data errada.

Causa: O Java (JDK/JRE) tem um banco de dados próprio sobre quando começa e termina o horário de verão de cada TimeZone/Região. Quando o JDK instalado se torna muito velho, ou há mudanças "súbitas" nas datas o JRE terá uma tabela com as datas desatualizada. Isso faz com que ao criar um Date ou manipular as datas apresentem diferença nos horários.


Para corrigir o problemas é possível atualizar o JRE para a versão mais nova, o que pode trazer problemas da troca de versão e BUGs em partes que já foram validadas. OU Atualizamos apenas o banco de dados com essas datas de horários de verão.


Para atualizar o banco de dados dos horários de verão, o Java disponibiliza uma ferramenta chamada TZUpdater [pode ser baixada aqui].


O arquivo de download com as novas entradas pode ser baixado no site da IANA [aqui].


Para atualizar a VM com o último arquivo disponível não é preciso nem pegar o endereço, basta passar a opção "-l" sem uma URL, o próprio tool baixa o último arquivo do site da IANA.

"c:\Program Files (x86)\Java\jdk1.8.0_102\bin\java.exe" -jar tzupdater.jar -l https://data.iana.org/time-zones/releases/tzdata2018e.tar.gz

ou, para o arquivo mais recente:

"c:\Program Files (x86)\Java\jdk1.8.0_102\bin\java.exe" -jar tzupdater.jar -l


Atualização de Múltiplas VM
A ferramenta TZUpdater atualiza a VM pela qual está sendo executada. Assim, para atualiza múltiplas VM, execute o jar utilizando o java.exe de cada JRE/SDK que deseja atualizar.


Erros Conhecidos
O TZUpdater deu erro utilizando o arquivo "2018f". Aparentemente foi porque algumas regras continham a horas 25, e outras horas negativas. Esses casos podem ser corrigidos mudando para a hora "1" do dia seguinte. E passando novamente o arquivo para o utilitário.

No caso, eu utilizei uma versão anterior do arquivo que já continha a correção desejada para o meu caso.

MySQL

Erro / Problema Causas / Solução
Error Code: 1215. Cannot add foreign key constraint

Causa 1: Verifique se ambas as tabelas estão utilizando o mesmo engine (InnoDB, MyISAM, etc.). Pode ser verificado utilizando o comando:

SHOW CREATE TABLE <table_name>

Causa 2: Nome da tabela ou da coluna digitada errada ou não existente.

Causa 3: A associação está sendo feita com uma coluna que não tenha um índice. Tenha a certeza que a coluna à qual está tentando associar tenha um índice em que ela é marcada como primeira coluna ou que seja uma chave primária ou chave única.

Causa 4: Os tipos e tamanhos da coluna não são os mesmos. Há diferença inclusive se o campo for marcado como UNSIGNED .

MySQL Dump

Erro / Problema Causas / Solução
Error 2013: Lost connection to MySQL server during query when dumping table `xxx` at row: xxx

Causa 1: Acrescente as seguintes variáveis ao arquivo de configurações:

net_read_timeout=120
net_write_timeout=900

para aumentar o tempo de leitura e escrita através da rede. Obs: Também pode ser adicionado à linha de comando como --net_read_timeout=120 --net_write_timeout=900

Causa 2: Acrescente as seguintes variáveis ao arquivo de configurações:

wait_timeout=86400
interactive_timeout=86400

para aumentar os tempos de timeout.


Causa 3: Acrescente as seguintes variáveis ao arquivo de configurações:

max_allowed_packet=256M

para aumentar o tamanho do pacote máximo que o mysql transporta.


Causa 4:

Acrescente
--quick
à linha de comando para fazer com que o mysqldump escreve diretamente para o output ao invés de tentar carregar a tabela inteira.

Causa 5:

Acrescente
--compress
à linha de comando para fazer com que o mysqldump utilize um formato mais compacto para transportar os dados.

Causa 6:

A tabela pode estar corrompida, e definir
innodb_force_recovery=1
pode fazer com que o mysql tente recuperar a tabela durante o dumping. Caso faça a alteração no arquivo de configurações, convém retornar para configuração original depois de usar/recuperar a tabela.

WildFly

Erro / Problema Causas / Solução
WildFly (Linux) falha para fazer o UnDeploy da aplicação.

Causa 1: Apresenta a a mensagem dizendo que a operação está/é muito demorada:

Solução: Realizar o UnDeploy manualmente:

  • Faça login no console da máquina;
  • Pare o servidor com sudo service wildfly stop
  • Exclua o diretório temporário: /opt/wildfly/standalone/tmp
  • Edite o arquivo de configurações do servidor standalone.xml - sudo nano /opt/wildfly/standalone/configuration/standalone.xml
  • Ao final do arquivo, exclua o bloco de tags de marcação do deploy do BIS
<deployments>
    <deployment name="BISEAR-10.0.ear" runtime-name="BISEAR-10.0.ear">
        <content sha1="90adcb3cec36bfc6a2022e7a8ca2919a6877534a"/>
    </deployment>
</deployments>
  • Inicie o servidor com sudo service wildfly start



GlassFish

Erro / Problema Causas / Solução
Glassfish Parece Travar com Certificado Expirado ao Iniciar um Deploy

Causa 1: Alguns certificados do GlassFish tem data de expiração em Agosto de 2018. E por algum motivo a mensagem com a descrição do certificado trava a janela de "tail" dentro do eclipse. Mas o Glassfish continua inicializando e a mensagem completa pode ser encontrada dentro do arquivo de log.

Solução: A solução encontrada foi excluir os certificados vencidos. Não sei exatamente se o Glassfish recria os certificados ao não encontra-los depois ou se alguma funcionalidade sofre com a ação (ainda não detectei nenhum problema). Aparentemente os certificados excluídos são usados para conexão SSL com o servidor, talvez ao habilitar o acesso por HTTPS no Glassfish não funcione.

  1. Para excluir os certificador precisamos primeiro verificar quais estão vencidos:
    A keystore pode ser encontrada no diretório de config do domínio.
    Ex: c:\glassfish5\glassfish\domains\domain1\config\cacerts.jks
  2. No diretório da keystore, execute o seguinte comando para listar todos os certificados para um arquivo tmp.txt
    keytool -v -list -keystore cacerts.jks >> tmp.txt
    A senha do keystore é changeit.
  3. Abra o arquivo tmp.txt e procure pelos certificados vencidos, utilizando a busca do próprio notepad pela data de expiração, ou pelo ano atual. Quando escrevo este log, os certificados vencidos tem o ano de 2018, ao achar o certificado vencido obtenha o alias do certificado.
  4. Agora execute o seguinte comando para excluir cada um dos certificados vencidos:
    keytool -delete -keystore cacerts.jks -alias <alias>
  5. Depois de todos os certificados vencidos excluídos exclua os logs atuais da pasta de log do GlassFish, pode ser necessário fechar o Eclipse para isso.


Certificados Vencidos Conhecidos

Os certificados já conhecidos que estão vencidos podem ser excluídos com os seguintes comandos:

keytool -delete -keystore cacerts.jks -alias equifaxsecureca
keytool -delete -keystore cacerts.jks -alias gtecybertrustglobalca
keytool -delete -keystore cacerts.jks -alias entrustsslca
keytool -delete -keystore cacerts.jks -alias utndatacorpsgcca
keytool -delete -keystore cacerts.jks -alias utnuserfirstclientauthemailca
keytool -delete -keystore cacerts.jks -alias utnuserfirsthardwareca
keytool -delete -keystore cacerts.jks -alias certplusclass3pprimaryca
keytool -delete -keystore cacerts.jks -alias secomvalicertclass1ca
keytool -delete -keystore cacerts.jks -alias deutschetelekomrootca2
keytool -delete -keystore cacerts.jks -alias valicertclass2ca
keytool -delete -keystore cacerts.jks -alias certplusclass2primaryca
keytool -delete -keystore cacerts.jks -alias utnuserfirstobjectca
keytool -delete -keystore cacerts.jks -alias keynectisrootca
keytool -delete -keystore cacerts.jks -alias addtrustclass1ca
keytool -delete -keystore cacerts.jks -alias addtrustexternalca
keytool -delete -keystore cacerts.jks -alias equifaxsecureebusinessca1
keytool -delete -keystore cacerts.jks -alias addtrustqualifiedca
keytool -delete -keystore cacerts.jks -alias entrust2048ca
keytool -delete -keystore cacerts.jks -alias equifaxsecureglobalebusinessca1
keytool -delete -keystore cacerts.jks -alias verisigntsaca
keytool -delete -keystore cacerts.jks -alias quovadisrootca
keytool -delete -keystore cacerts.jks -alias thawtepremiumserverca
keytool -delete -keystore cacerts.jks -alias thawteserverca
keytool -delete -keystore cacerts.jks -alias soneraclass2ca
keytool -delete -keystore cacerts.jks -alias soneraclass1ca
keytool -delete -keystore cacerts.jks -alias thawtepersonalfreemailca
keytool -delete -keystore cacerts.jks -alias globalsignr2ca

Sem a mensagem de certificado vencido o Eclipse consegue voltar a interpretar normalmente os Logs e exibi-los na janela. Em algum momento deve sair uma nova versão do Glassfish com os certificados renovados, ou aparecer na internet uma maneira de como renovar esses certificados.

PDV

Problemas relacionados a aplicação do PDV do BIS

Erro / Problema Causas / Solução
Falha ao carregar o DarumaFrameWork

Causa 1: Diferença entre arquiteturas (x32 ou x64) da JVM e da DLL.

Solução: Verifique se a versão do java em que a aplicação está rodando é 32 bits e se as DLL na pasta da aplicação também são compatíveis com 32 bits. Por padrão as DLLs de 64 bits (não todas) tem o valor "64" no nome delas.

Desde a versão 7.2.4, começo da implementação do SAT, o PDV passou a rodar só em versão 32 bits já que a DLL do SAT não é disponibilizada em 64 bits.

Causa 2: Falta da biblioteca "DarumaFrameworkJNA.jar" na pasta lib/. Esta biblioteca é necessária para que o Java encontre a DLL. Mas como ele não é obtida através do Maven, algumas vezes o BIS falha em exporta-la junto com o BISPDV.jar durante o processo de release.

Solução: Verifique se o JAR encontra-se dentro da pasta lib/ dentro da pasta da aplicação. Caso não se encontre, providencie o JAR adequado para a versão e o coloque na pasta.


SAT

Problemas relacionados ao SAT

Erro / Problema Causas / Solução
Erro Desconhecido

Causa: Ocorreu algum erro provavelmente com a comunicação do WebService da Receita. Nestes casos é comum o SAT não remapear o erro, registrando apenas a resposta do WebService no log do equipamento.

Solução: Sempre que obter um erro desses verifique o log do equipamento para verificar os problemas que foram registrados.

Falha ao Associar Assinatura (Código de Vinculação) no Equipamento

Causa: Obtemos o erro 540 - Rejeição: CNPJ da Software House + CNPJ do emitente assinado no campo “signAC” difere do informado no campo “CNPJvalue” ao tentar gerar associar a assinatura no equipamento do SAT.

Solução: Esse erro pode ocorrer quando algumas informações estão erradas, neste caso verifique todos os itens abaixo:

  • O equipamento já está associado ao CNPJ do contribuinte corretamente. Verifique o status da associação do equipamento no SGRSAT na conta do contribuinte;
  • O CNPJ do contribuinte ou da Software House estão incorretos nos parâmetros sendo passados;
  • O certificado usado no cadastro da SoftwareHouse é diferente do que foi usado para a geração da assinatura (código de vinculação). Ou o certificado está vencido. Neste caso é necessário exportar as chaves públicas do certificado (no formato "X.509 codificado na base 64") e incluir ele no cadastro da empresa no SGRSAT da Software House.

Pay&Go

Problemas relacionados a aplicação do Pay&Go.


Erro / Problema Causas / Solução
CHECKOUT DUPLICADO

Este erro pode ocorrer durante re-instalação ou após alguma instalação mal sucedida.

Solução: Vá no menu Manutenção > Liberar Terminais Virtuais.

REDE

Problemas relacionados diretamente com a adquirente REDE.

Erro / Problema Causas / Solução
Lote Cheio
  1. Entrar no modo adminsitrativo > Rede > Administrativo > Funções Especiais > Função: 93 > Senha: 9208 (mudou para 1111)
TENTE NOVAMENTE - LC
  1. Segundo acontecimento em 17/05/2017 este erro é um problema de conexão entre o Pay&Go e a REDE, a orientação foi de aguardar eles reestabelecerem a conexão.
ERRO EMV

Pode ocorrer em duas situações:

  1. Com PIN pad PPC900/PPC910 – o Erro ocorre devido ao PIN pad não ter espaço suficiente para carregar as tabelas das adquirentes.
  2. Com PIN pad Ingenico: erro EMV pode ocorrer devido a problemas como: cartão não responde, erro interno do PIN pad, parâmetro inválido retornado do PIN pad, etc.

Solução:

  1. Verifique em "Conexões CGR":
    - se o Cliente utiliza PIN pad Gertec PPC900/PPC910 com Versão PP inferior a 001.42...
    - Verifique se a versão do Pay&Go está atualizada (a partir da versão PG_160426 este erro é corrigido automaticamente);
    - Caso a versão do Pay&Go esteja desatualizada, encaminhe o chamado para N2 realizar a atualização e dar sequência ao atendimento;
  2. Realize uma transação de teste pela REDE, (o erro EMV será apresentado e o Pay&Go fará a limpeza de tabelas automaticamente);
  3. Refaça a transação novamente pela REDE.
    Observação Importante
    a primeira transação após o ERRO EMV deve ser feita sempre com um cartão com CHIP pela REDE, porque a carga de tabelas no PIN pad é realizada quando é inserido o primeiro cartão após a inicialização, e a carga de tabelas da REDE é maior, requerendo um espaço temporário no dispositivo maior para manipulação das tabelas durante a carga.

Caso não for possível atualizar a versão ou o erro não foi corrigido após a atualização, realize os procedimentos manualmente:

  1. Apague as Tabelas do PIN pad:
  2. Solicite que o cliente desconecte o PIN pad da máquina;
  3. Assim que o cliente conectar o PIN pad novamente, no momento que aparecer "..." no visor do PIN pad. Solicite que o cliente aperte as teclas "Anula" (Vermelha), "0" (Zero) e "Entra" (Verde);
    OBS: Caso não consiga, faça novamente os passos 2 e 3.
  4. Abrirá o SETUP de configurações técnicas do equipamento;
  5. Escolha a opção "1" (Apagar Arquivos), feito isso, as tabelas baixadas anteriormente serão apagadas do PIN pad;
  6. Pressione "Anula" para retornar;
  7. Realize um teste de venda na REDE (veja acima Observação Importante);
  8. Se mesmo assim o erro ainda persistir, solicite a troca do equipamento.
    1. Em caso de PIN pad próprio, informe ao Cliente que recomendamos a troca por PIN pad Ingenico IPP 320 ou GERTEC PPC 920.
    2. Se o cliente possuir um PPC910, ele pode enviar o equipamento para a Gertec atualizar.
    3. A atualização deve ser tratada diretamente com a Gertec.
    4. Para o PPC900 não há atualização disponível.

Fonte

CIELO

Problemas relacionados diretamente com a adquirente CIELO.

Erro / Problema Causas / Solução
PROBLEMA PINPAD OPERAÇÃO CANCELADA

Causa 1: PIN pad GERTEC PPC900/PPC910 – Este problema ocorre devido ao tamanho do arquivo de atualização de tabelas das Adquirentes CIELO e REDE, o PIN pad Gertec PPC900/PPC910 não comporta a atualização devido ao espaço de memória interna ser menor que o volume das duas tabelas juntas.

Solução: Solicite a troca do PIN pad nas situações abaixo:

  1. Verifique em "Conexões CGR":
    Se o Cliente utiliza PIN pad Gertec PPC900/PPC910 com Versão PP inferior a 001.42... (caso não utilize um destes PIN pads, siga o procedimento para solução da CAUSA 2).
  2. Solicite a troca do Equipamento conforme Script de troca de PIN pad). Em caso de PIN pad próprio, informe ao Cliente que recomendamos a troca por PIN pad:
    • Ingenico IPP 320
    • GERTEC PPC 920
    Se o cliente possuir um PPC910, ele pode enviar o equipamento para a Gertec atualizar. A atualização deve ser tratada diretamente com a Gertec. Para o PPC900 não há atualização disponível.
  3. Verifique se a versão do Pay&Go está atualizada, caso não esteja, encaminhe um chamado para N2 atualizar a versão do Pay&Go.

Fonte: Script de Atendimento NTK - v11

Causa 2: PIN pad carregado somente com a chave "3DES (3 DUKPT)", porém na base Cielo o cadastro do Cliente está com o método de criptografia como "DES (1 DUKPT)", causando o erro. Abertura de Chamado: (Motivo: PINPAD - PROBLEMA PINPAD OPERAÇÃO CANCELADA)

Solução:

  1. Entrar em contato com a Cielo no telefone 4002-8031 (Capital) ou 0800 570 1031 (Outras Localidades), selecione opção “9 - outros”;
  2. Informar “ERRO PINPAD - OPERAÇÃO CANCELADA” ou “PROBLEMA PINPAD - OPERAÇÃO CANCELADA";
  3. Solicitar a alteração no método de criptografia;
  4. Liberar carga de Tabelas e inicializar o Terminal novamente.
  5. Se mesmo assim o erro ainda persistir, solicite a troca do equipamento.

Fonte: Script de Atendimento NTK - v11