-
Notifications
You must be signed in to change notification settings - Fork 377
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Remoção da validação de xml para quando o envio de nfe for com xml assinado. #154
Conversation
Entendi, o problema é que tira uma camada inteira de validação, nesse caso, caso tenha algum problema de formatação da informação, só terá a resposta na retorno da sefaz. |
@jefperito entendi a sua preocupação. Existe uma classe na api chamada XMLValidador ela possui dois métodos publicos para validar o xml:
O programador nesse caso poderia utilizar dessa classe para realizar validação antes do envio, assim evitando exceptions do webservice da sefaz. Lembrando que isso seria necessario apenas no envio de lote/nfe já assinados. Outra possível solução era criar um xsd semelhante ao leiauteNFe_v3.10.xsd que espere o leiaute de um arquivo já assinado. Em seguida criar um método no XMLValidator utilizando esse novo xsd para realizar validação. |
Pois é, pensei na solução do xsd a parte, contendo as tags de assinatura. Se ficarem de acordo posso dar uma olhada nisso mais tarde. |
A opção de validar pelo programador é boa, mas é mais um caso q ele tem q estar se preocupando. |
Conseguir adaptar o |
Acho que o XSD a ser utilizado deve ser o fornecido, senão fica muito On Tue, May 31, 2016 at 1:39 PM, Lucas Moreira notifications@github.com
|
@fincatto então vamos mandar esse PR para a versão atual ? pois ele corrige o problema de não poder enviar um xml já assinado. Daí depois poderíamos cogitar uma validação automática após a criação de novos xsds. |
Muito possivelmente. 2016-05-31 14:11 GMT-03:00 rafaelsunn notifications@github.com:
|
Verdade, futuramente iria gerar dor de cabeça. |
Dei uma olhada nos xsd do projeto NFe e eles contemplam a validação com a assinatura: http://www.nfe.fazenda.gov.br/portal/listaConteudo.aspx?tipoConteudo=/fwLvLUSmU8= Assim sendo, atualizei os arquivos no projeto e criei um branch que os utiliza, e já passado a validação para o metodo que faz o envio do lote ja assinado. Assim evitamos uma duplicidade: Ainda farei mais testes "em produção" desse código pois, como não podemos colocar um certificado válido no projeto, fica difícil criar um teste de unidade pra isso. No entanto, se funcionar a contento, parece ser o melhor dos mundos. Verifiquem aí e comentem. Se houver consenso nessa abordagem, faço o merge e já libero a versão. |
Boa noite @rafaelsunn. |
@fincatto, baixei os branchs aqui para testarmos porém deu esse merge. |
Já subi o código pro master, e atualizei a versão para 2.0.0-SNAPSHOT, pois houve uma pequena quebra de compatibilidade no retorno do lote assinado. |
@fincatto a versão para atualizar o pom vai ser 2.0.0-SNAPSHOT ? |
Acho que estava fazendo o merge bem na hora. On Thu, Jun 2, 2016 at 8:51 PM, Lucas Moreira notifications@github.com
|
Sim. Houve um outro merge que adicionou uma camada no retorno do envio de On Thu, Jun 2, 2016 at 8:52 PM, rafaelsunn notifications@github.com wrote:
|
@fincatto realizei os testes aqui e funcionou corretamente. |
Ao enviar uma nota fiscal com xml já assinado o validador emite o seguinte erro:
org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 2806; cvc-complex-type.2.4.a: Foi detectado um conteúdo inválido começando com o elemento 'Signature'. Era esperado um dos '{"http://www.portalfiscal.inf.br/nfe":infNFeSupl}'.
Esse erro é devido o xml já possuir a tag de assinatura daí ele não consegue validar nesse caso. Nos envios com certificado A1 o xml é validado antes da assinatura assim permitindo a validação de forma correta.