|
|
Linha 117: |
Linha 117: |
| keytool -delete -keystore cacerts.jks -alias entrust2048ca | | keytool -delete -keystore cacerts.jks -alias entrust2048ca |
| keytool -delete -keystore cacerts.jks -alias equifaxsecureglobalebusinessca1 | | keytool -delete -keystore cacerts.jks -alias equifaxsecureglobalebusinessca1 |
| | keytool -delete -keystore cacerts.jks -alias verisigntsaca |
| </pre> | | </pre> |
| }} | | }} |
Edição das 15h18min de 19 de agosto de 2020
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 .
|
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.
- 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
- 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.
- 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.
- Agora execute o seguinte comando para excluir cada um dos certificados vencidos:
keytool -delete -keystore cacerts.jks -alias <alias>
- 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
|
|
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
|
TENTE NOVAMENTE - LC
|
- 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:
- Com PIN pad PPC900/PPC910 – o Erro ocorre devido ao PIN pad não ter espaço suficiente para carregar as tabelas das adquirentes.
- 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:
- 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;
- Realize uma transação de teste pela REDE, (o erro EMV será apresentado e o Pay&Go fará a limpeza de tabelas automaticamente);
- 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:
- Apague as Tabelas do PIN pad:
- Solicite que o cliente desconecte o PIN pad da máquina;
- 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.
- Abrirá o SETUP de configurações técnicas do equipamento;
- Escolha a opção "1" (Apagar Arquivos), feito isso, as tabelas baixadas anteriormente serão apagadas do PIN pad;
- Pressione "Anula" para retornar;
- Realize um teste de venda na REDE (veja acima Observação Importante);
- Se mesmo assim o erro ainda persistir, solicite a troca do equipamento.
- Em caso de PIN pad próprio, informe ao Cliente que recomendamos a troca por PIN pad Ingenico IPP 320 ou 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.
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:
- 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).
- 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.
- 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:
- Entrar em contato com a Cielo no telefone 4002-8031 (Capital) ou 0800 570 1031 (Outras Localidades), selecione opção “9 - outros”;
- Informar “ERRO PINPAD - OPERAÇÃO CANCELADA” ou “PROBLEMA PINPAD - OPERAÇÃO CANCELADA";
- Solicitar a alteração no método de criptografia;
- Liberar carga de Tabelas e inicializar o Terminal novamente.
- Se mesmo assim o erro ainda persistir, solicite a troca do equipamento.
Fonte: Script de Atendimento NTK - v11
|