[quote=O Grande Bé][quote=julianosott]
ou seja, não pode ter o xmlns:ns2=“http://www.w3.org/2000/09/xmldsig#”
o mesmo vale para o enviNFe:
<enviNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="1.10">
<idLote>1</idLote>
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
nesse caso tanto o envi como cada nfe devem ter xmlns=“http://www.portalfiscal.inf.br/nfe” e o envi não pode ter o xmlns:ns2=“http://www.w3.org/2000/09/xmldsig#”. Se por acaso o xml estiver do jeito errado, pode usar esses códigos no assinador, ou criar outro método:
esse aqui remove o xmlns:ns2 do elemento raíz:
doc.getDocumentElement().removeAttribute("xmlns:ns2");
esse aqui adiciona o xmlns necessário a tag NFe:
((Element) doc.getDocumentElement().getElementsByTagName("NFe").item(i)).setAttribute("xmlns", "http://www.portalfiscal.inf.br/nfe");
Quem quiser verificar o xml pode usar esse site: http://www.sefaz.rs.gov.br/AAE_ROOT/NFE/SAT-WEB-NFE-VAL_1.asp Acho que ele só valida os certificados do Rio Grande do Sul, mas o bom é que ele verifica a estrutura do xml tb.
É isso por enquanto, qualquer coisa é só perguntar.[/quote]
Só para ajudar os próximos, essa solução ai em cima funcionou pra mim q estava com problema de assinatura, porém além disso também fiz:
docs.getDocumentElement().removeAttribute("xmlns:ns2");
docs.getDocumentElement().removeAttribute("xmlns:ds");
docs.getDocumentElement().removeAttribute("xmlns:xsi");
funcionou direitinho depois q fiz isso[/quote]
Só reforçando o que o Grande Bé comentou no manual de integração da NFe fala que não é permitida a utilização de prefixos de namespace…XD