kann mir jemand helfen, wie man dieses XML als Ergebnis dieser Funktion zurückgibt?Wie kann ich XML von NodeJS Promise zurückgeben?
Ich brauche die Variable xmlAssinado zurückgegeben werden, wenn ich diese Funktion außerhalb aufrufen.
module.exports = { AssinarXML: function(xml, arquivo, data){
certificado.GerarPEM()
.then(function(pem){
if (pem !== 500){
const transforms = [
'http://www.w3.org/2000/09/xmldsig#enveloped-signature',
'http://www.w3.org/TR/2001/REC-xml-c14n-20010315'
];
const infoProvider = (pem) => {
return {
getKeyInfo() {
const cert = this.getCert();
return `<X509Data><X509Certificate>${cert}</X509Certificate></X509Data>`;
},
getCert() {
const certLines = pem.certificate.split('\n');
return certLines.filter((e, i) => i && e && e.indexOf('-----') !== 0).join('');
}
};
};
var signer = new SignedXml();
signer.addReference(`//*[local-name(.)=\'infNFe\']`, transforms);
signer.signingKey = new Buffer(pem.key);
signer.canonicalizationAlgorithm = 'http://www.w3.org/TR/2001/REC-xml-c14n-20010315';
signer.keyInfoProvider = infoProvider(pem);
signer.computeSignature(xml);
**var xmlAssinado = signer.getSignedXml();**
fs.writeFile(arquivo + '.xml', xmlAssinado, function(err) {
if(err) {
console.error("Ocorreu um erro na gravação do arquivo: %s", err);
}
else {
console.log("XML Gerado e Assinado Com Sucesso!");
}
});
} else {
console.error("Ocorreu na assinatura do arquivo");
}
})}}
Was könnte ich tun, um dies zu erreichen?