[英]jasper reports Subreport not working (not displaying data from database)
[英]How to make a subreport that uses web service as the data source work in Jasper Reports
有人可以发布一个使用Web服务作为数据源如何定义子报表的工作示例吗?
我正在阅读:
http://community.jaspersoft.com/project/web-service-data-source
在“子报表和其他数据集”部分下,我需要满足(2)的情况:
您有一个希望循环的主要结果集,并且要为每一行执行一个新查询(Web服务调用)
在子报表配置(或数据集)中,指定完全不使用任何连接(将连接表达式和数据源表达式都留空。我们要做的唯一一件事情就是传递一些强制性参数,以使内部Webservice数据源正常工作:
- uriKeyauth
- TypeKey
- authParametersKey
- languageKey
- verbKey
基于以上陈述,我无法理解该怎么做。 这些参数在Web服务子报告中定义。 我应该把它们传回主要报告吗? 如果是这样,我应该如何在Jaspersoft Studio中进行操作? 我正在使用6.2版。 即使在主报表中定义了这些参数之后,在运行预览时,也会收到错误消息:
引起原因:net.sf.jasperreports.engine.JRException:动词应为POST或GET。 不是有效的动词
经过一段时间的努力,我发现了以下内容。
就我而言,主报告中的默认数据适配器是JDBC。 对于从SQL查询返回的每一行,一个特定的列值用作Web服务数据适配器或WebServiceQuery的GET参数。
我无法通过子报表来完成这项工作。 但是,我可以将其与与表关联的数据集一起使用。
必须创建使用Web服务数据适配器的数据集。 GET参数所需的参数需要在数据集中定义。
创建数据集后,使用该数据集创建表或其他元素。 在表属性的“数据集”选项卡下,定义应具有相关字段值的参数(例如$ F {field1})。
Web服务数据集还需要连接到主数据集。 这一切都是在主报告中定义Web服务参数:uriKey,authTypeKey,authParametersKey,languageKey,verbKey。
完成此操作后,预览主报表还将使用从Web服务数据适配器获得的结果来呈现表。
我在Jasper Studio 6.3中使用的步骤是:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.