Boa tarde!
Estou criando método para cancelar uma NFS-e, nota de serviço pelo sistema GINFES. O problema é que sempre me da a mensagem de arquivo fora do padrão, ou seja xml não esta correto. Então eu baixei o programa Altova e validei o xml. O único erro que ele me apresenta e o Id que não deve existir. Então se eu tirar este Id ele passa. O problema é que sem este Id eu não estou conseguindo assinar o XML, pois ele precisa deste elemento(Veja parte do código de assinatura abaixo). Então, como eu faço para assinar o xml sem esta campo Id?
`NodeList elements = doc.getElementsByTagName(“ConsultarLoteRpsEnvio”);
org.w3c.dom.Element el = (org.w3c.dom.Element) elements.item(0);
String id = el.getAttribute(“Id”);
el.setIdAttribute(“Id”, true);
Reference ref = fac.newReference("#".concat(id),
fac.newDigestMethod(DigestMethod.SHA1, null),
listTransforms, null, null);
SignedInfo si = fac.newSignedInfo(fac.newCanonicalizationMethod(CanonicalizationMethod.INCLUSIVE,
(C14NMethodParameterSpec) null),
fac.newSignatureMethod(SignatureMethod.RSA_SHA1, null),
Collections.singletonList(ref));`