Assinatura XMl

Bom dia pessoal,

Estou com um probleminha na assinatura da NFe, estou convertendo meu xml em string e depois tentando extrair os bytes dele, mas esta me retornando null, segue o código:

[code]private static String lerXML(String fileXML) throws IOException {
String linha = “”;
StringBuilder xml = new StringBuilder();

    BufferedReader in = new BufferedReader(new InputStreamReader(  
            new FileInputStream(fileXML)));  
    while ((linha = in.readLine()) != null) {  
        xml.append(linha);  
    }  
    in.close();  

    return xml.toString();  
} [/code] 

private Document documentFactory(String xml) throws SAXException, IOException, ParserConfigurationException { DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); Document document = factory.newDocumentBuilder().parse( new ByteArrayInputStream(xml.getBytes())); return document; }

[code]public String assinaEnviNFe(String xml, String certificado, String senha)
throws Exception {
Document document = documentFactory(xml);
XMLSignatureFactory signatureFactory = XMLSignatureFactory.getInstance(“DOM”);
ArrayList transformList = signatureFactory(signatureFactory);
loadCertificates(certificado, senha, signatureFactory);

    for (int i = 0; i < document.getDocumentElement().getElementsByTagName(NFE).getLength(); i++) {  
        assinarNFe(signatureFactory, transformList, privateKey, keyInfo, document, i);  
    }  

    return outputXML(document);  
} 

[/code]

Ali no método assinaEnviNFe não entra no for por causa que me retorna null o Document, o que estou fazendo de errado???

Desde já agradeço.

http://www.guj.com.br/java/237281-tutorial-consumir-webservice-nfe-20

espero q ajude.

att,

Cara ajudou bastante esse tuto, mas no meu caso estou com problemas na hora de assinar o xml, ali onde ele da um xml.getByte() ele me retorna [document]null, e o xml não está vazio.