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

时间:2015-12-17 15:21:47

标签: json web-services jasper-reports jasperserver

我的要求是, 我的Windows应用程序中有一个URL指向jasper服务器中的jasper报告 我只需要我的jasper服务器作为查询构建器, 当我从我的应用程序调用报告(具有结果)时,结果应该是使用Web服务的JSON数据。 我怎样才能实现它。 可能吗? 如果我错了,请纠正我

2 个答案:

答案 0 :(得分:1)

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

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

The v2/queryExecutor Service

REST endpoint for Jaspersoft Query Executor

摘要(仅在链接损坏时才有用)

呼叫:

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

{queryString}需要使用此格式并进行网址编码(有关详细信息,请转至JasperReports Server User Guide

<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 Server Web Service Guide

答案 1 :(得分:0)

1.放置详细信息区域中的字段,并在每个字段中添加属性“net.sf.jasperreports.export.json.path” 2.deploy在服务器上,以便它可用于rest_v2调用