gpt4 book ai didi

java - 使用 Jasper Server 运行 jrxlm 报告

转载 作者:行者123 更新时间:2023-12-02 03:35:36 27 4
gpt4 key购买 nike

我已经通过 iReport 创建了 jrxml 报告。然后我用 JasperServer 运行它并且它工作得很好。我已通过以下 URL 生成 pdf 报告:

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

它运行良好,但当我尝试刷新页面时,出现此错误:

An id is required to lookup a FlowDefinition

此外,当我尝试在 JasperServer 客户端应用程序中调用此 REST 服务时,我收到此错误:

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

这是调用 REST 服务的 Java 客户端应用程序:

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();
}
}

最佳答案

流ID

调用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

不是JasperserverRestClient使用的服务器URL。服务器 URL 应如下所示:

http://localhost:8081/jasperserver

注意: flow.html 用于在不登录 UI 的情况下访问 JasperServer。它不是您应该放置报告的应用程序路径。

关于java - 使用 Jasper Server 运行 jrxlm 报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37486144/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com