Я вызываю службу отдыха WCF в API-интерфейсе nodejs, но происходит сбой с ошибкой 401: не авторизован. Я знаю, что предоставленные мной учетные данные верны, потому что когда я вызываю wcf rest service с такими же учетными данными в SOAP UI, это работает.
Ниже приведен код NodeJ, который у меня есть.
var express =require('express');
var router=express.Router();
var http = require('http');
//format of actual user name
var username='domain\user_name';
//password has special characters like & ()
var password='';
var auth="Basic " + new Buffer(username + ":" + password).toString("base64");
//Rest service is using HTTPS
var options={
hostname:'mycomputer.domain.com',
method:'GET',
path: '/myrest-service/v1/somedetails/somedata?param1=somevalue¶m2=somevalue',
headers: {
"Authorization": auth
}
}
router.get('/',function(request,response){
var result='';
const req = http.request(options, (res) => {
res.on('data', (chunk) => {
console.log('chunk is received.');
result=result + chunk;
});
res.on('end', () => {
console.log('No more data in response.');
response.send({output: result});
});
});
req.on('error', (e) => {
console.error(`problem with request: ${e.message}`);
});
req.end();
});
module.exports = router;
Я также попытался указать параметры в формате ниже
var options={
hostname:'mycomputer.domain.com',
method:'GET',
path: '/myrest-service/v1/somedetails/somedata?param1=somevalue¶m2=somevalue',
auth:auth
}
Ни один из вариантов не работал. Любое предложение?