diff --git a/README.md b/README.md index e9b6acfa..da1a8e9b 100644 --- a/README.md +++ b/README.md @@ -4,7 +4,7 @@ Projeto Para implementação do Java-Nfe Utilizando JAXB. ## Gostou do Projeto? Dê sua colaboração: [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=TX9K693QQYA6W) Para Iniciar : -- Baixe o java-nfe-4.00.8.jar (https://github.com/Samuel-Oliveira/Java_NFe/raw/master/java-nfe-4.00.8.jar) e o adicione às bibliotecas de Seu Projeto. +- Baixe o java-nfe-4.00.9.jar (https://github.com/Samuel-Oliveira/Java_NFe/raw/master/java-nfe-4.00.9.jar) e o adicione às bibliotecas de Seu Projeto. - Baixe o Schemas.rar (https://github.com/Samuel-Oliveira/Java_NFe/raw/master/Schemas.rar) e extraia na sua Máquina. - Maven : @@ -17,7 +17,7 @@ Para Iniciar : br.com.samuelweb java-nfe - 4.00.8 + 4.00.9 ``` @@ -27,6 +27,13 @@ ________________________________________________________________________________ # Historico de Versões +## v4.00.9 - 16/12/2018 + - Corrigido URLs PE + - Adicionado metodo Que remove Acentos Automaticamente. + - Corrigido URL Consulta Csdastro MG + - Corrigido URL Qrcode TO + - Atualizado Cacert + ## v4.00.8 - 11/10/2018 - Adicionado Melhorias - Corrigo erros acentos diff --git a/java-nfe-4.00.8.jar b/java-nfe-4.00.9.jar similarity index 98% rename from java-nfe-4.00.8.jar rename to java-nfe-4.00.9.jar index 90286f97..c97bc469 100644 Binary files a/java-nfe-4.00.8.jar and b/java-nfe-4.00.9.jar differ diff --git a/pom.xml b/pom.xml index ae8432f9..ceed7934 100644 --- a/pom.xml +++ b/pom.xml @@ -3,7 +3,7 @@ 4.0.0 br.com.samuelweb java-nfe - 4.00.8 + 4.00.9 Java_NFe diff --git a/src/main/java/br/com/samuelweb/nfe/Assinar.java b/src/main/java/br/com/samuelweb/nfe/Assinar.java index 6550ea4c..6f52ffc9 100644 --- a/src/main/java/br/com/samuelweb/nfe/Assinar.java +++ b/src/main/java/br/com/samuelweb/nfe/Assinar.java @@ -74,7 +74,7 @@ public static String assinaNfe(ConfiguracoesNfe config, String stringXml, String private static String assinaDocNFe(ConfiguracoesNfe config, String xml, String tipo) throws NfeException { try { - Document document = documentFactory(config.removeAcentos() ? XmlUtil.removeAcentos(xml) : xml); + Document document = documentFactory(XmlUtil.removeAcentos(xml)); XMLSignatureFactory signatureFactory = XMLSignatureFactory.getInstance("DOM"); ArrayList transformList = signatureFactory(signatureFactory); loadCertificates(config, signatureFactory); diff --git a/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesIniciaisNfe.java b/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesIniciaisNfe.java index f7a60729..63f475ed 100644 --- a/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesIniciaisNfe.java +++ b/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesIniciaisNfe.java @@ -26,7 +26,6 @@ public class ConfiguracoesIniciaisNfe implements ConfiguracoesNfe { private Integer timeout; private boolean contigenciaSCAN; private boolean log = true; - private boolean removeAcentos = false; // Construtor Singleton private ConfiguracoesIniciaisNfe() { @@ -55,7 +54,7 @@ public static ConfiguracoesIniciaisNfe iniciaConfiguracoes(Estados estado, Strin String pastaSchemas, Boolean log) { new ConfiguracoesIniciaisNfe(estado, ambiente, certificado, pastaSchemas, log); if (log) { - System.out.println("Api Java Nfe Versão 4.00.8 - Samuel Olivera - samuk.exe@hotmail.com"); + System.out.println("Api Java Nfe Versão 4.00.9 - Samuel Olivera - samuk.exe@hotmail.com"); System.out.println("Certificado: " + certificado.getTipo().toUpperCase() + " - " + certificado.getNome().toUpperCase() + " - Vencimento: " + certificado.getVencimento()); System.out.println("Ambiente: " + (ambiente.equals("1") ? "Produção" : "Homologação") + " - Estado: " @@ -195,11 +194,4 @@ public void setTimeout(Integer timeout) { this.timeout = timeout; } - public boolean removeAcentos() { - return removeAcentos; - } - - public void setRemoveAcentos(boolean removeAcentos) { - this.removeAcentos = removeAcentos; - } } diff --git a/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesNfe.java b/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesNfe.java index d70e65c0..6dc631b5 100644 --- a/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesNfe.java +++ b/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesNfe.java @@ -55,5 +55,4 @@ public interface ConfiguracoesNfe { Integer getTimeout(); - boolean removeAcentos(); } diff --git a/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesWebNfe.java b/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesWebNfe.java index ea42c013..8d6568ad 100644 --- a/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesWebNfe.java +++ b/src/main/java/br/com/samuelweb/nfe/dom/ConfiguracoesWebNfe.java @@ -24,7 +24,7 @@ public class ConfiguracoesWebNfe implements ConfiguracoesNfe { private Integer timeout; private boolean contigenciaSCAN; private boolean log = true; - private boolean removeAcentos = false; + private boolean removeAcentos = true; // Construtor Singleton private ConfiguracoesWebNfe() { @@ -45,7 +45,7 @@ public static ConfiguracoesWebNfe iniciaConfiguracoes(Estados estado, String amb instance.setVersaoNfe(); instance.setLog(log); if (log) { - System.out.println("Api Java Nfe Versão 4.00.8 - Samuel Olivera - samuk.exe@hotmail.com"); + System.out.println("Api Java Nfe Versão 4.00.9 - Samuel Olivera - samuk.exe@hotmail.com"); System.out.println("Certificado: " + certificado.getTipo().toUpperCase() + " - " + certificado.getNome().toUpperCase() + " - Vencimento: " + certificado.getVencimento()); System.out.println("Ambiente: " + (ambiente.equals("1") ? "Produção" : "Homologação") + " - Estado: " diff --git a/src/main/java/br/com/samuelweb/nfe/util/CacertUtil.java b/src/main/java/br/com/samuelweb/nfe/util/CacertUtil.java index dfe42201..e7cbed68 100644 --- a/src/main/java/br/com/samuelweb/nfe/util/CacertUtil.java +++ b/src/main/java/br/com/samuelweb/nfe/util/CacertUtil.java @@ -19,7 +19,7 @@ public class CacertUtil { private static final int TIMEOUT_WS = 30; private static final int PORTA = 443; - private static final String CACERT = "d:/java/util/Cacert/Cacert-11-10-2018"; + private static final String CACERT = "d:/java/util/Cacert/Cacert-16-12-2018"; private static String cacert; public static void main(String[] args) { diff --git a/src/main/java/br/com/samuelweb/nfe/util/XmlUtil.java b/src/main/java/br/com/samuelweb/nfe/util/XmlUtil.java index 889817db..a814e13c 100644 --- a/src/main/java/br/com/samuelweb/nfe/util/XmlUtil.java +++ b/src/main/java/br/com/samuelweb/nfe/util/XmlUtil.java @@ -82,7 +82,7 @@ public static T xmlToObject(String xml, Class classe) throws JAXBExceptio JAXBContext context = JAXBContext.newInstance(classe); Unmarshaller unmarshaller = context.createUnmarshaller(); - return unmarshaller.unmarshal(new StreamSource(new StringReader(xml)), classe).getValue(); + return unmarshaller.unmarshal(new StreamSource(new StringReader(removeAcentos(xml))), classe).getValue(); } /** @@ -288,8 +288,7 @@ public static String removeAcentos(String str) { str = str.replaceAll("\n", ""); str = str.replaceAll("&", "E"); str = str.replaceAll(">\\s+<", "><"); - CharSequence cs = new StringBuilder(str == null ? "" : str); - return Normalizer.normalize(cs, Normalizer.Form.NFKD).replaceAll("\\p{InCombiningDiacriticalMarks}+", ""); + return Normalizer.normalize(str, Normalizer.Form.NFKD).replaceAll("\\p{InCombiningDiacriticalMarks}+", "").replaceAll("[^\\p{ASCII}]", ""); } diff --git a/src/main/resources/Cacert b/src/main/resources/Cacert index 93dc36f5..cd41366b 100644 Binary files a/src/main/resources/Cacert and b/src/main/resources/Cacert differ diff --git a/src/main/resources/WebServicesNfe.ini b/src/main/resources/WebServicesNfe.ini index d19917e6..4f1606a8 100644 --- a/src/main/resources/WebServicesNfe.ini +++ b/src/main/resources/WebServicesNfe.ini @@ -113,7 +113,7 @@ Usar=NFe_SVAN_H NfeConsultaCadastro_4.0=https://sistemas.sefaz.ma.gov.br/wscadastro/CadConsultaCadastro2?wsdl [NFe_MG_P] -NfeConsultaCadastro_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2 +NfeConsultaCadastro_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/CadConsultaCadastro4 NfeInutilizacao_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NFeInutilizacao4 NfeConsultaProtocolo_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NFeConsultaProtocolo4 NfeStatusServico_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NFeStatusServico4 @@ -122,7 +122,7 @@ NFeRetAutorizacao_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NFeRetAutoriz RecepcaoEvento_4.00=https://nfe.fazenda.mg.gov.br/nfe2/services/NFeRecepcaoEvento4 [NFe_MG_H] -NfeConsultaCadastro_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/cadconsultacadastro2 +NfeConsultaCadastro_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/CadConsultaCadastro4 NFeAutorizacao_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeAutorizacao4 NFeConsultaProtocolo_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeConsultaProtocolo4 NFeInutilizacao_4.00=https://hnfe.fazenda.mg.gov.br/nfe2/services/NFeInutilizacao4 @@ -570,13 +570,13 @@ URL-ConsultaNFCe=http://nfce.sefaz.pe.gov.br/nfce/consulta [NFCe_PE_P] Usar=NFCe_SVRS_P -URL-QRCode=http://nfce.sefaz.pe.gov.br/nfce/consulta +URL-QRCode=http://nfce.sefaz.pe.gov.br/nfce-web/consultarNFCe URL-ConsultaNFCe=http://nfce.sefaz.pe.gov.br/nfce/consulta [NFCe_PE_H] Usar=NFCe_SVRS_H -URL-QRCode=http://nfcehomolog.sefaz.pe.gov.br/nfce/consulta -URL-ConsultaNFCe=http://nfcehomolog.sefaz.pe.gov.br/nfce/consulta +URL-QRCode=http://nfcehomolog.sefaz.pe.gov.br/nfce-web/consultarNFCe +URL-ConsultaNFCe=http://nfce.sefaz.pe.gov.br/nfce/consulta [NFCe_PI_P] Usar=NFCe_SVRS_P @@ -708,13 +708,13 @@ URL-ConsultaNFCe=https://www.homologacao.nfce.fazenda.sp.gov.br/consulta [NFCe_TO_P] Usar=NFCe_SVRS_P -URL-QRCode=http://apps.sefaz.to.gov.br/portal-nfce/qrcodeNFCe -URL-ConsultaNFCe=http://apps.sefaz.to.gov.br/portal-nfce/consultarNFCe.jsf +URL-QRCode=http://www.sefaz.to.gov.br/nfce/qrcode +URL-ConsultaNFCe=https://www.sefaz.to.gov.br/nfce/consulta [NFCe_TO_H] Usar=NFCe_SVRS_H -URL-QRCode=http://apps.sefaz.to.gov.br/portal-nfce-homologacao/qrcodeNFCe -URL-ConsultaNFCe=http://apps.sefaz.to.gov.br/portal-nfce-homologacao/consultarNFCe.jsf +URL-QRCode=http://homologacao.sefaz.to.gov.br/nfce/qrcode +URL-ConsultaNFCe=http://homologacao.sefaz.to.gov.br/nfce/consulta [NFCe_SVAN_P]