我正在尝试使用Node.js来调用SOAP Exchange EWS服务。我创建了一个简单的HTTP客户端,像这样:Node.js与MS Exchange EWS集成
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自己实现该协议?任何援助非常感谢。
你有没有解决过这个问题? – 2014-04-16 05:23:55
不幸的是我没有。我们决定采用Kerberos身份验证,部分原因是由于我们在这里遇到的问题。 – AngryMonkey 2014-04-26 17:23:12