2012-03-02 95 views
2

我目前正在运行的报告的感谢曾钰成REST API,并得到输出(PDF),DOC的interessant部分是here碧玉REST API,运行报告

所以,我想这一点:http://localhost:8080/jasperserver/rest/report/reports/samples/report_mongodb_new_basic

知道,我的报告是报告/样本和其资源ID是:report_mongodb_new_basic

所以我还是想在这里跑的NodeJS这是我的代码: (要求提供一个模块的NodeJS here

登录:当我直接

 request.put("http://localhost:8080/jasperserver/rest 
    /report/reports/samples/report_mongodb_new_basic") 

这不是工作的过程中,即使是:

var request = require("request"); 
request.post({url: "http://localhost:8080/jasperserver/rest/login", 
qs: {j_username: "jasperadmin", j_password: "jasperadmin"}}, 
function(err, res, body) { 
    if(err) { 
     return console.error(err); 
    } 

登录后,作为文档显示我需要做一个PUT请求来运行报告走在这条URL以 火狐,它说

"Report not found (uuid not found in session)" 

的UUID应该比创建ks到这个PUT请求

那么什么是URL的良好语法和一个PUT请求获得uuid以及如果可能之后获得pdf的良好语法?

+0

您是否在第一个请求回调的主体中发出了request.put'调用? – 2012-03-02 19:00:03

+0

嗯,老实说,我不知道回调是什么,但我想你问我是否将'request.put'放在'request.post'中(例如:'request.post(.... request.put( ))答案是肯定的,但这并没有改变任何东西,我认为我的问题在URL – Louis 2012-03-04 12:58:03

+0

我知道现在是什么回调,是的我在第一个请求回调的主体中调用request.put – Louis 2012-03-06 14:45:58

回答

0

最近我有同样的问题。

登录后运行你PUT之前,应该运行

http://localhost:8080/jasperserver/rest/report/reports/samples/report_mongodb_new_basic

答案身体GET请求resourceDescriptor

<resourceDescriptor> 
... 
</resourceDescriptor> 

,那么你应该运行PUT请求与请求主体集to resourceDescriptor

您可以添加报告p参数报告单位定义。事实上,我用XMLRemoteDatasource去取数据 所以我添加了一个参数report_unit

... 
    <parameter name="XML_URL" class="java.lang.String"> 
     <![CDATA[http://$ENV{HTTP_HOST}/some_url]]> 
    </parameter> 
</resourceDescriptor> 

帮我为得到贾斯珀一个报告一个完整的脚本的Jasper Server 4.5 Community Edition

+0

GET请求给出的报告没有找到(uuid没有在会话中找到)我们缺少什么 – zygimantus 2016-10-04 10:47:09

1

jonny提供了一个正确的答案。但这里是一个简单的办法,使用REST_v2接口,使您可以运行在单个请求得到一个报告输出:

 request.get("http://localhost:8080/jasperserver/rest_v2/reports/samples/report_mongodb_new_basic.pdf") 

这在web services documentation 3.2.1节描述。

+0

Hi @lionel我是jasper和node js的新手我想从节点服务器调用jasper报告当我尝试你的代码时,错误。任何帮助? – 2015-04-14 04:55:12

+0

这不是Jasper发出的特定错误,这是一个非常严重的问题。你应该记录下这个HTTP错误并尝试全局解决它。 – lionel 2015-09-08 09:31:22

+0

如何指定报告的路径?是绝对的吗? – zygimantus 2016-10-04 10:45:32