Я пытаюсь использовать Node.js для вызова служб SOAP Exchange EWS. Я создал простой http-клиент, например, так:
var https = require('https');
var username = 'user';
var password = 'password';
var auth = 'NTLM ' + new Buffer(username + ":" + password).toString('base64');
var options = {
host : 'exchangehost',
port : 443,
method : 'post',
path : '/Exchange.asmx',
headers : { Authorization : auth }
};
var request = https.request(options, function(response) {
console.log('Status: ' + response.statusCode);
};
request.write('<soapenv:Envelope ...></soapenv:Envelope>');
request.end();
Я получаю код состояния 401, я подозреваю, потому что я не выполняю три шага, связанных с аутентификацией NTLM (http://www.innovation.ch/personal/ronald/ntlm.html). Кто-нибудь знает о модуле Node.js для связи с Exchange EWS напрямую или для аутентификации с использованием NTLM, или я собираюсь сам реализовать этот протокол для Node.js? Любая помощь очень ценится.