有系统,它有数据,可以通过Web服务提供数据(例如Lotus Notes数据库)。 Jasper可以通过调用Web服务获取数据吗?
答案 0 :(得分:1)
您可以通过实现接口JRDataSource来编写自定义DataSource。
答案 1 :(得分:0)
你可以,但很快就会变得非常复杂。但是如果你想要走这条路,那绝对可以JRXmlDataSource。您必须定义数据源,如:
new net.sf.jasperreports.engine.data.JRXmlDataSource(
net.sf.jasperreports.engine.util.JRLoader.getLocationInputStream("http://yourserver.com/xml_data_source")
请参阅this帖子,其中某人似乎已经开始执行类似的任务,从远程服务器检索报告中的xml数据。
话虽这么说,它可能会少得多,如果你从代码中的服务器获取数据,选择你想要的报告字段并将其传入,你的代码可能会更加可维护。比如一个JRMapCollection数据源,特别是如果远程服务提供了一个wsdl,你可以使用像Apache Axis这样的工具生成一个客户端。
答案 2 :(得分:0)
检查http://community-static.jaspersoft.com/sites/default/files/bug_files/remotejson_1.png。屏幕截图显示了如何将Web服务URL作为报表的数据适配器。显示的示例位于Jaspersoft Studio中。
答案 3 :(得分:0)
现在可以使用Web服务数据源
http://community.jaspersoft.com/project/web-service-data-source
此社区项目实施自定义数据源,使用最新的自定义数据源框架(内部利用数据适配器)构建。
它也在JasperReports Server中运行:
您可以通过主题使用它来填充基于查询的输入控件以及Ad Hoc报表(针对商业版)。
由于