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