通过节点js调用jasper报告rest api

时间:2015-04-14 05:24:34

标签: node.js express jasper-reports jasperserver

我对碧玉报告的概念非常陌生。我的团队已经在jasperserver中构建了一些报告。我唯一需要的就是打电话报告。从节点服务器。我尝试了Jasper Rest API, run a report

的代码
 router.get('/', function(req, res, next) {

    request.post({url: "http://localhost:3030/jasperserver/rest/login", 
        qs: {j_username: "jasperadmin", j_password: "jasperadmin"}},
        function(err, res, body) {
            if(err) {
                return console.error(err);
            }
            else{
            request.get("http://localhost:3030/jasperserver/rest_v2/reports/SampleQueryReport.pdf",
                function (error, response, body1) {

                    if (!error) {
                          console.log("downloading")
                    }
                    else{
                        console.log(response.statusCode);
                        console.log(error);
                    }
            })
        }
    });


});

我想以pdf格式获取报告。但是,当我尝试这个代码时,我得到401未经授权的错误 我正在使用快速js,节点js, npm模块请求,我在app.js中全局声明。 但我可以通过url直接使用此凭据登录jasper soft。

1 个答案:

答案 0 :(得分:2)

我明白了问题所在。它显示未经授权的错误,因为在第二个请求中它没有cookie。这是在第一次请求登录发生并生成cookie。哪个未在第二个请求中传递。因此,当我通过cookie时,该请求就可以了。我的错误。