Я пытаюсь запросить данные из ALM, используя Node JS, следующий мой код. Я получаю пустой ответ от ALM, когда я пробую ту же ссылку в браузерах, он возвращает правильный ответ со всеми дефектами после входа в систему.
options = {
// host : 'alm:8080',
host: 'alm',
port:'8080',
path : "/qcbin/authentication-point/authenticate",
method: "GET",
headers : {'Content-Type': 'application/XML','Authorization': 'Basic '+new Buffer('user' + ':' + 'pass').toString('base64')}
};
ALMConnect(){
process.env['NODE_TLS_REJECT_UNAUTHORIZED'] = '0';
var req = https.request(this.options, function(res){
console.log('Cookie in session 1: '+ res.headers["set-cookie"]);
var opt = {
host: "alm",
port:"8080",
path: "/qcbin/rest/domains/"+"Test"+"/projects/"+"Test"+"/defects?login-form-required=y&apos",
method:"GET",
headers: {"Cookie":res.headers["set-cookie"]}
};
res.setEncoding('utf8');
var output='';
extractDefects(opt);
function extractDefects(opt){
//get all the fields that you want to query. Lesser the fields smaller the XML returned, faster is the call.
var req2 = https.request(opt, function(res1){
res1.setEncoding('utf8');
var output='';
res1.on('data',function(chunk){
output+=chunk;
});
res1.on('end',function(){
console.log('the message is reg2 '+ output);
});
});
req2.on('error',function(e){
console.log('the erro msg reg2'+ e);
});
req2.end();
}
});
req.on('error',function(e){
console.log('the erro msg'+ e);
});
req.end();
}