Jasper报告通过Web服务从提供者处获取数据。如何?

时间:2012-05-22 14:34:38

标签: web-services jasper-reports

有系统,它有数据,可以通过Web服务提供数据(例如Lotus Notes数据库)。 Jasper可以通过调用Web服务获取数据吗?

4 个答案:

答案 0 :(得分:1)

答案 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报表(针对商业版)。

由于