[英]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.