【发布时间】:2018-05-11 13:28:42
【问题描述】:
考虑以下几点:
我有一个 PHP Web 应用程序。此应用程序通过中间件受到保护,免受任何入侵,该中间件在每次调用路由时都会查找正确的凭据。如果您正确登录,将显示该页面。如果没有,你就会被踢出去。简单易行。
现在,这个应用程序为我提供了返回 JSON 的链接。生成此 JSON 的唯一目的是报告。在 Jaspersoft Studio 中,我创建了一个 JSON 数据适配器并将提供的链接用作 URL。
但这还不是。由于中间件正在检查应用程序中的每个链接调用,因此我需要为我的报告添加一个例外。我决定在 HTTP 标头中传递加密令牌是解决方案。然后我将该选项添加到我们的数据适配器中。
它就像一个魅力!
现在,问题来了:
使用Jaspersoft website 上提供的信息,我将我的数据适配器导出到服务器。问题是,从服务器调用数据源时不再考虑 HTTP 标头。当然,我的报告不再起作用了。然后,我使用托管在另一个平台上的链接进行了测试,即使没有 HTTP 标头,它也能正常工作。
那么,我的问题是如何将我的数据源中的 HTTP 标头从 Jaspersoft Studio 保存到服务器?
编辑 1: Jaspersoft Studio 版本:6.4.0,JasperSoft Server 版本:6.3.0
【问题讨论】:
-
您使用的是什么版本的 Studio 和 Server?
-
@Narcis Jaspersoft Studio:6.4.0,JasperSoft 服务器:6.3.0 Build:20160629_1853
-
我有一个similiar problem,只是将一个客户 ID 作为参数传递给报告。我不明白,为什么您可以使用应用程序中的 JSON 来生成报告,而您可以直接从应用程序内部生成报告(使用 Jasper API)。为什么会有这个额外的步骤?
-
@KeineMaster 这些 HTTP 选项是在 JasperReports 6.3.1 中添加的。支持这些功能的最接近的服务器版本应该是 6.4.0。
-
@DanFromGermany JSON 由应用程序通过多个事件生成。它最初设计用于将 JSON 发送到 Web 服务,但在一段时间后选择了执行报告的选项。 Jasper 似乎是最好的选择,因为他们可以使用 JSON 作为数据源。
标签: jasper-reports jasperserver jaspersoft-studio