通过URL从外部应用程序调用Jasper报告



我的要求是,我的windows应用程序中有一个url,指向jasper服务器中的jasper报告我只需要我的jasper服务器作为查询生成器,当我从我的应用程序(它有结果)调用Report时,结果应该是使用web服务的JSON数据。我怎样才能做到这一点。有可能吗?如果我的错误,请纠正我

对于XMLJSON中的原始数据,您可以使用JasperServer域和REST查询执行器服务

您需要JasperReports Server v5.1或更高版本,以及带有元数据层的商业版!

v2/queryExecutor服务

Jaspersoft查询执行器的REST端点

摘要(仅在链接断开时有用)

呼叫:

{scheme}://{host}:{port}/{contextPath}/rest_v2/queryExecutor/{resourceUri}?q={queryString}

{queryString}需要采用这种格式并对url进行编码(请参阅JasperReports服务器用户指南了解更多详细信息

<query>
  <queryFields>
    <queryField id="inv_store.inv_store__store_name" />
    <queryField id="inv_store.inv_store__store_type" />
    <queryField id="inv_store__store_contact.inv_store__store_contact__store_manager" />
  </queryFields>
  <queryFilterString>inv_store__region.inv_store__region__sales_state_province == 'CA'</queryFilterString>
</query>

示例

http://localhost/jasperserver-pro/rest_v2/queryExecutor/public/Samples/Domains/supermartDomain?q=%3Cquery%3E%3CqueryFields%3E%3CqueryField+id%3D%22inv_store.inv_store__store_name%22+%2F%3E%3CqueryField+id%3D%22inv_store.inv_store__store_type%22+%2F%3E%3CqueryField+id%3D%22inv_store__store_contact.inv_store__store_contact__store_manager%22+%2F%3E%3C%2FqueryFields%3E%3CqueryFilterString%3Einv_store__region.inv_store__region__sales_state_province+%3D%3D+'CA'%3C%2FqueryFilterString%3E%3C%2Fquery%3E

这将以xml返回结果,要获得json格式,请将标头“Accept: application/json”添加到您的请求中。

有关调用前的身份验证,请参阅JasperReports服务器Web服务指南

1.将字段放在详细信息带中,并在每个字段中添加属性"net.sf.jasperreports.export.json.path"2.部署在服务器上,使其可用于rest_v2调用

最新更新