繁体   English   中英

使用XML_URL调用Jasper Reports Server

[英]Calling Jasper Reports Server using XML_URL

我已经创建了一个.jrxml文件,该文件在JasperSoftStudio中使用指向本地XML文件的数据源适配器很好地运行,但是,一旦将.jrxml文件和.xml文件移至该文件后,我将无法从JasperReports Server执行报告。服务器。

上载.jrxml文件并尝试从JasperReports Server运行它之后,我得到了一个空报告(按预期)

然后,我将SampleReport.xml手动放置在应用程序的根目录(C:\\ Jaspersoft \\ jasperreports-server-cp-6.0.1 \\ apache-tomcat \\ webapps \\ jasperserver)中,然后尝试加载报告(带有。 xml文件)

&XML_URL=SampleReport.xml到报告的URL。

我还尝试附加了&XML_URL=https://localhost:8080/jasperserver/SampleReport.xml (如果该URL &XML_URL=https://localhost:8080/jasperserver/SampleReport.xml输入,它将按原样正确显示.xml文件)

我究竟做错了什么?

我试图按照http://community.jaspersoft.com/wiki/remote-xml-datasource中的说明进行操作,但无济于事。

我按照说明复制了com.jaspersoft.studio.data_6.0.4.final.jar,然后重新启动了Tomcat服务器。 我也在.jrxml文件中设置了以下内容

<parameter name="xml_url" class="java.lang.String">
        <defaultValueExpression><![CDATA["http://localhost:8080/simple.xml"]]></defaultValueExpression>
    </parameter>
    <queryString language="xPath">
        <![CDATA[/ROOT/BEAN]]>
    </queryString> 

这就是我解决的方法。

步骤1 :我没有通过参数XML_URL传递XML文件的名称,而是通过参数net.sf.jasperreports.xml.source传递了文件(感谢@kraig, 如何使用jasper服务器上的xml数据源

步骤2 :我意识到我需要定义传递到报表服务器中报表的任何参数。 因此,我添加了一个名为net.sf.jasperreports.xml.source的新输入控件,然后编辑了该报表,并将此输入控件添加到了报表中。 (感谢@Ibrahim Apachi 通过URL传递参数

步骤3 :我在报表的.jrxml中设置了net.sf.jasperreports.xml.source参数的默认值。

<parameter name="net.sf.jasperreports.xml.source" class="java.lang.String">
        <defaultValueExpression><![CDATA["https://www.example.com:8080/jasperserver/DefaultReport.xml"]]></defaultValueExpression>
</parameter>

[如果未提供其他xml源,则这是要使用的默认xml源。 如果提供了另一个来源,则它将覆盖此默认值...]

步骤4 :然后,我通过在Jasper Server &net.sf.jasperreports.xml.source=https://www.example.com:8080/jasperserver/SampleReport.xml附加到报表的URL来&net.sf.jasperreports.xml.source=https://www.example.com:8080/jasperserver/SampleReport.xml报表。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM