2016-05-27 3 views
0

Я создал отчет jrxml от iReport. Затем я запустил его с JasperServer, и он работает отлично. У меня есть сгенерировать отчет в формате PDF по этой ссылке:Запуск отчета jrxlm с сервером Jasper

http://localhost:8081/jasperserver/flow.html/flowFile/my_report.pdf 

Он работает хорошо, но когда я пытался обновить страницу, я получаю эту ошибку:

An id is required to lookup a FlowDefinition 

Кроме того, когда я пытаюсь вызвать этот REST сервис в JasperServer клиентское приложение я получаю эту ошибку:

com.sun.jersey.api.client.UniformInterfaceException: Client response status: 500 

Это клиентское приложение Java для вызова службы REST:

public final static String serverUrl = "http://localhost:8081/jasperserver/flow.html/flowFile/my_report.xls"; 
public final static String serverUser = "jasperadmin"; 
public final static String serverPassword = "jasperadmin"; 

static File outPutDir= new File(System.getProperty("java.io.tmpdir")); 

public static void main(String[] args) { 
    try { 
     Report report = new Report(); 
     report.setUrl("/reports/samples/Employees"); 
     report.setOutputFolder(outPutDir.getAbsolutePath()); 
     JasperserverRestClient client = JasperserverRestClient.getInstance(serverUrl, serverUser, serverPassword); 
     File reportFile = client.getReportAsFile(report); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 
+0

'Я получаю эту ошибку com.sun.jersey.api.client.UniformInterfaceException: статус ответа клиента: 500' - Вы проверили файлы журнала? –

ответ

2

flowId

При вызове flow.html вы должны обеспечить действие, которое ставится в flowId. JasperServer использует flow.html для предоставления интерфейса, доступ к которому через URL. Например, при вызове отчета это будет:

_flowId=viewReportFlow 

Также необходимо предоставить отчет и параметры. Так с этим в виду URL может выглядеть следующим образом:

http://localhost:8081/jasperserver/flow.html?_flowId=viewReportFlow&reportUnit=/reports/samples/Employees&j_username=the_user&j_password=secret&output=pdf 

Ошибка сервера

При подключении к серверу, используется этот URL

http://localhost:8081/jasperserver/flow.html/flowFile/my_report.xls 

Это не URL сервера, используемый JasperserverRestClient. URL сервер должен выглядеть следующим образом:

http://localhost:8081/jasperserver 

ПРИМЕЧАНИЕ:flow.html для доступа JasperServer без входа в интерфейс. Это не путь приложения, куда вы должны поместить свои отчеты.

+0

Спасибо, tobi6, ты мне помог. –

+0

Можете ли вы мне помочь, как получить отчет о клиенте для отдыха? Http: //stackoverflow.com/questions/37509433/jasperserver-rest-client-path –

+0

С удовольствием помогите. Пожалуйста, подумайте о принятии моего ответа (или другого), если он сработает для вас ([Как принять ответ] (http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work)) , – tobi6

Смежные вопросы