2012-03-02 92 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