Ao tentar executar o client SOAP com o seguinte comando:
curl -X POST http://localhost:3000/correios/calculo-prazo -H "Content-type: application/json" -d @files/dadosDaEntrega.json
recebi o erro:
TypeError: app.services.correiosSOAPClient is not a constructor<
Os códigos das rotas e serviços são
module.exports = function(app) {
app.post('/correios/calculo-prazo', function(req, res) {
var dadosDaEntrega = req.body;
var correiosSOAPClient = new app.services.correiosSOAPClient();
correiosSOAPClient.calculaPrazo(dadosDaEntrega, function(erro, resultado) {
if (erro) {
res.status(500).send(erro);
return;
}
console.log('prazo calculado');
res.json(resultado);
});
});
}
var soap = require('soap');
function CorreiosSOAPClient() {
this._url = 'http://ws.correios.com.br/calculador/CalcPrecoPrazo.asmx?wsdl';
}
module.exports = function() {
return CorreiosSOAPClient;
}
CorreiosSOAPClient.prototype.calculaPrazo = function(args, callback) {
soap.createClient(this._url, function(erro, cliente) {
console.log('cliente soap criado');
cliente.CalcPrazo(args, callback);
});
}