You are not logged in.
Pages: 1
Hi, I have a Report Book created with JasperSoft Studio v7. When importing this report into the latest Docker version of ReportServer, I get the exception:-
Could not execute report: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 235; cvc-complex-type.3.2.2: Attribute 'sectionType' is not allowed to appear in element 'jasperReport'.
Is there something I need to update on the ReportServer image?
Cheers,
Garrick
Offline
As an update to this, I have found a previous post indicating that Jasper Library v7 is not compatible, so have saved the document using v6.20.6 JRXML version. When saved using this version, if I try to open the ReportBook, I still get an exception:-
error":"JRValidationException: Report design not valid : \n\t 1. Band reports cannot contain parts\n\t 2. Band reports cannot contain parts\n\t 3. Band reports cannot contain parts","report_id":6656,"report_name":"TicketBook","base_report_id":6656,"base_report_name":"TicketBook","executing_user_id":6,"report_output_format":"PDF","report_key":"7d52cece8ddd282901895e8f8270cf754017f93f
I have just uploaded one of the sub-reports as a standalone report, and it does excute without exception, but produces a blank page?
Thanks,
Garrick
Offline
Hello Garrick
Could you please send us a little more information?
We still need to know which version of ReportServer you are using, as well as the database (including the version) and Java version.
Please also send us the full error message, and it would be great if you could post the link you mentioned here as well.
Best regards
Jasmin
Offline
Thanks Jasmin,
Since posting this query, I have actually rebuit the report book using Jasper Reports Studio 6.21.5. The individual reports now run correctly in ReportServer, but I still can't get the Report Book to operate. Are Jasper sub-reports supported by ReportServer?
The ReportServer version details are as follows:-
RS5.0.0-6114 (2025-06-18-09-20-45)
424bb97f-5442-49b3-8f84-9227a65a8c15
2026 March 20
Enterprise Edition (Evaluation)
It is installed from the standalone docker image.
Here is the full error:-
Error: An error occurred during report execution.
The report could not be executed: IllegalArgumentException: No subreport of name rsfsx://jaspersubreport/181b0004-6f27-46dc-9ea4-dd4a2c3213fa/wave found.
To get help please contact an administrator.
Details
Report could not be executed. {"error":"IllegalArgumentException: No subreport of name rsfsx://jaspersubreport/181b0004-6f27-46dc-9ea4-dd4a2c3213fa/wave found.","report_id":6656,"report_name":"TicketBook","base_report_id":6656,"base_report_name":"TicketBook","executing_user_id":6,"report_output_format":"PDF","report_key":"fb7a46a82027fc37a6568f66a2e725c9c9990fe3"} net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: IllegalArgumentException: No subreport of name rsfsx://jaspersubreport/181b0004-6f27-46dc-9ea4-dd4a2c3213fa/wave found. at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:281) at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:161) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.executeReport(ReportExportServlet.java:577) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doExportReport(ReportExportServlet.java:449) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReport(ReportExportServlet.java:370) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportViaSession(ReportExportServlet.java:361) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doGet(ReportExportServlet.java:162) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2004603646.GUICE$TRAMPOLINE() at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74) at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:64) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75) at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75) at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2004603646.doGet() at javax.servlet.http.HttpServlet.service(HttpServlet.java:529) at javax.servlet.http.HttpServlet.service(HttpServlet.java:623) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2004603646.GUICE$TRAMPOLINE() at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74) at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112) at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75) at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55) at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2004603646.service() at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290) at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280) at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184) at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:89) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85) at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:94) at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82) at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:121) at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:656) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1826) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189) at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.IllegalArgumentException: No subreport of name rsfsx://jaspersubreport/181b0004-6f27-46dc-9ea4-dd4a2c3213fa/wave found. at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine$1$1.openConnection(JasperReportEngine.java:222) at java.base/java.net.URL.openConnection(Unknown Source) at java.base/java.net.URL.openStream(Unknown Source) at net.sf.jasperreports.engine.util.JRLoader.getInputStream(JRLoader.java:286) at net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(DefaultRepositoryService.java:134) at net.sf.jasperreports.repo.InputStreamPersistenceService.load(InputStreamPersistenceService.java:51) at net.sf.jasperreports.repo.DefaultRepositoryService.getResource(DefaultRepositoryService.java:196) at net.sf.jasperreports.repo.RepositoryUtil.findInputStream(RepositoryUtil.java:195) at net.sf.jasperreports.repo.RepositoryUtil.getBytesFromLocation(RepositoryUtil.java:211) at net.sf.jasperreports.renderers.util.RendererUtil.getNonLazyRenderable(RendererUtil.java:179) at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:522) at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:450) at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383) at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:548) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:335) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:160) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:631) at net.sf.jasperreports.parts.subreport.SubreportFillPart.fill(SubreportFillPart.java:204) at net.sf.jasperreports.engine.part.FillPart.fill(FillPart.java:100) at net.sf.jasperreports.engine.fill.PartReportFiller.fillPart(PartReportFiller.java:417) at net.sf.jasperreports.engine.fill.PartReportFiller.fillParts(PartReportFiller.java:402) at net.sf.jasperreports.engine.fill.PartReportFiller.fillFirstGroupHeaders(PartReportFiller.java:361) at net.sf.jasperreports.engine.fill.PartReportFiller.fillReport(PartReportFiller.java:289) at net.sf.jasperreports.engine.fill.PartReportFiller.fill(PartReportFiller.java:225) at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:416) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:120) at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:103) at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:530) at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine.executeReport(JasperReportEngine.java:304) at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine.doExecute(JasperReportEngine.java:108) at net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.execute(ReportEngine.java:154) at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:246) ... 50 more
Offline
and it would be great if you could post the link you mentioned here as well.
Hi Jasmin, the post I was referring to was this one:- https://forum.reportserver.net/viewtopic.php?id=3904
Offline
Hello Garrick,
You can read how sub-reports work in this documentation:
https://reportserver.net/en/guides/admi … eports.php
Best regards
Jasmin
Offline
Thanks Jasmin,
Following that guide I still receive the following exception:-
00:50:58.898 WARN n.d.r.c.s.r.ReportExportServlet$$EnhancerByGuice$$2004603646 - The report could not be executed: IllegalArgumentException: No subreport of name rsfsx://jaspersubreport/13a5d27b-d09f-4151-8e1e-87021ffcde2f/wave found., details: Report could not be executed. {"error":"IllegalArgumentException: No subreport of name rsfsx://jaspersubreport/13a5d27b-d09f-4151-8e1e-87021ffcde2f/wave found.","report_id":31066,"report_name":"Wave_Book","base_report_id":31066,"base_report_name":"Wave_Book","executing_user_id":6,"report_output_format":"PDF","report_key":"2526fd47057d43d231588ab035c0422950ec2f9a"}
net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: IllegalArgumentException: No subreport of name rsfsx://jaspersubreport/13a5d27b-d09f-4151-8e1e-87021ffcde2f/wave found.
at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:281)
at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:161)
at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.executeReport(ReportExportServlet.java:577)
at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doExportReport(ReportExportServlet.java:449)
at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReport(ReportExportServlet.java:370)
at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.exportReportViaSession(ReportExportServlet.java:361)
at net.datenwerke.rs.core.server.reportexport.ReportExportServlet.doGet(ReportExportServlet.java:162)
at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2004603646.GUICE$TRAMPOLINE(<generated>)
at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74)
at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:64)
at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55)
at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2004603646.doGet(<generated>)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:529)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:623)
at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2004603646.GUICE$TRAMPOLINE(<generated>)
at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:74)
at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:75)
at com.google.inject.internal.InterceptorStackCallback.invoke(InterceptorStackCallback.java:55)
at net.datenwerke.rs.core.server.reportexport.ReportExportServlet$$EnhancerByGuice$$2004603646.service(<generated>)
at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290)
at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280)
at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184)
at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:89)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:94)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:121)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:168)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:144)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:656)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:397)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:935)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1826)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1189)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:658)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalArgumentException: No subreport of name rsfsx://jaspersubreport/13a5d27b-d09f-4151-8e1e-87021ffcde2f/wave found.
at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine$1$1.openConnection(JasperReportEngine.java:222)
at java.base/java.net.URL.openConnection(Unknown Source)
at java.base/java.net.URL.openStream(Unknown Source)
at net.sf.jasperreports.engine.util.JRLoader.getInputStream(JRLoader.java:286)
at net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(DefaultRepositoryService.java:134)
at net.sf.jasperreports.repo.InputStreamPersistenceService.load(InputStreamPersistenceService.java:51)
at net.sf.jasperreports.repo.DefaultRepositoryService.getResource(DefaultRepositoryService.java:196)
at net.sf.jasperreports.repo.RepositoryUtil.findInputStream(RepositoryUtil.java:195)
at net.sf.jasperreports.repo.RepositoryUtil.getBytesFromLocation(RepositoryUtil.java:211)
at net.sf.jasperreports.renderers.util.RendererUtil.getNonLazyRenderable(RendererUtil.java:179)
at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:522)
at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:450)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:548)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:335)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:160)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:631)
at net.sf.jasperreports.parts.subreport.SubreportFillPart.fill(SubreportFillPart.java:204)
at net.sf.jasperreports.engine.part.FillPart.fill(FillPart.java:100)
at net.sf.jasperreports.engine.fill.PartReportFiller.fillPart(PartReportFiller.java:417)
at net.sf.jasperreports.engine.fill.PartReportFiller.fillParts(PartReportFiller.java:402)
at net.sf.jasperreports.engine.fill.PartReportFiller.fillFirstGroupHeaders(PartReportFiller.java:361)
at net.sf.jasperreports.engine.fill.PartReportFiller.fillReport(PartReportFiller.java:289)
at net.sf.jasperreports.engine.fill.PartReportFiller.fill(PartReportFiller.java:225)
at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:416)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:120)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:103)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:530)
at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine.executeReport(JasperReportEngine.java:304)
at net.datenwerke.rs.base.service.reportengines.jasper.JasperReportEngine.doExecute(JasperReportEngine.java:108)
at net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.execute(ReportEngine.java:154)
at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:246)
My JRXML is as follows:-
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.21.5.final using JasperReports Library version 6.20.6 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Wave_Book" pageWidth="595" pageHeight="842" sectionType="Part" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="30" bottomMargin="30" uuid="6cbfd3e8-c45d-49fa-81fe-4ee3486d5022">
<property name="net.sf.jasperreports.print.create.bookmarks" value="true"/>
<parameter name="StartDate" class="java.util.Date"/>
<parameter name="EndDate" class="java.util.Date"/>
<queryString language="SQL">
<![CDATA[select count(*) from ost_ticket;]]>
</queryString>
<field name="count(*)" class="java.lang.Long"/>
<group name="cover">
<groupHeader>
<part uuid="7aed05b9-1301-4a53-b47e-34289560bc0c">
<p:subreportPart xmlns:p="http://jasperreports.sourceforge.net/jasperreports/parts" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/parts http://jasperreports.sourceforge.net/xsd/parts.xsd">
<subreportParameter name="StartDate">
<subreportParameterExpression><![CDATA[$P{StartDate}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="EndDate">
<subreportParameterExpression><![CDATA[$P{EndDate}]]></subreportParameterExpression>
</subreportParameter>
<subreportExpression><![CDATA["Wave_Book_cover.jrxml"]]></subreportExpression>
</p:subreportPart>
</part>
</groupHeader>
<groupFooter>
<part uuid="88decbbe-63ad-45cc-9e03-5dadc50004d5">
<p:subreportPart xmlns:p="http://jasperreports.sourceforge.net/jasperreports/parts" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/parts http://jasperreports.sourceforge.net/xsd/parts.xsd">
<subreportExpression><![CDATA["Wave_Book_backcover.jrxml"]]></subreportExpression>
</p:subreportPart>
</part>
</groupFooter>
</group>
<detail>
<part uuid="360c6fd3-80ff-41e0-bbaf-9646bcf982d8">
<p:subreportPart xmlns:p="http://jasperreports.sourceforge.net/jasperreports/parts" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/parts http://jasperreports.sourceforge.net/xsd/parts.xsd">
<subreportParameter name="REPORT_CONNECTION">
<subreportParameterExpression><![CDATA[$P{REPORT_CONNECTION}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="StartDate">
<subreportParameterExpression><![CDATA[$P{StartDate}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="EndDate">
<subreportParameterExpression><![CDATA[$P{EndDate}]]></subreportParameterExpression>
</subreportParameter>
<subreportExpression><![CDATA["TotalTickets.jrxml"]]></subreportExpression>
</p:subreportPart>
</part>
<part uuid="e641cffe-7e9d-4ec7-b860-ee48c7ef035b">
<p:subreportPart xmlns:p="http://jasperreports.sourceforge.net/jasperreports/parts" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/parts http://jasperreports.sourceforge.net/xsd/parts.xsd">
<subreportParameter name="REPORT_CONNECTION">
<subreportParameterExpression><![CDATA[$P{REPORT_CONNECTION}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="StartDate">
<subreportParameterExpression><![CDATA[$P{StartDate}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="EndDate">
<subreportParameterExpression><![CDATA[$P{EndDate}]]></subreportParameterExpression>
</subreportParameter>
<subreportExpression><![CDATA["SLAAndResponse_Landscape.jrxml"]]></subreportExpression>
</p:subreportPart>
</part>
<part uuid="aa2fd991-3fbe-4ee4-a872-74d5cf829796">
<p:subreportPart xmlns:p="http://jasperreports.sourceforge.net/jasperreports/parts" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/parts http://jasperreports.sourceforge.net/xsd/parts.xsd">
<subreportParameter name="REPORT_CONNECTION">
<subreportParameterExpression><![CDATA[$P{REPORT_CONNECTION}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="StartDate">
<subreportParameterExpression><![CDATA[$P{StartDate}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="EndDate">
<subreportParameterExpression><![CDATA[$P{EndDate}]]></subreportParameterExpression>
</subreportParameter>
<subreportExpression><![CDATA["TicketContent.jrxml"]]></subreportExpression>
</p:subreportPart>
</part>
</detail>
</jasperReport>
Offline
Hi gsconsulting,
subreports are supported in ReportServer as the following minimal example demonstrate:
Main report: (Blank_A4_MAIN.jrxml)
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 7.0.2.final using JasperReports Library version 6.5.1 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Blank_A4" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="405c4fbc-f2a3-4731-aca5-6e868986281e">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<queryString>
<![CDATA[SELECT 'ABC' AS A FROM DUAL]]>
</queryString>
<field name="A" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="A"/>
<property name="com.jaspersoft.studio.field.label" value="A"/>
</field>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="79" splitType="Stretch"/>
</title>
<pageHeader>
<band height="35" splitType="Stretch"/>
</pageHeader>
<columnHeader>
<band height="61" splitType="Stretch">
<staticText>
<reportElement x="123" y="20" width="100" height="30" uuid="8cff994d-c178-49bb-a4ea-3617a6cc9b2e"/>
<text><![CDATA[Main]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="110" splitType="Stretch">
<subreport>
<reportElement x="0" y="10" width="560" height="100" uuid="714a4e42-99b0-4785-8359-9ab42505aaaf"/>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA["Blank_A4_SUBREPORT.jrxml"]]></subreportExpression>
</subreport>
</band>
</detail>
<columnFooter>
<band height="45" splitType="Stretch"/>
</columnFooter>
<pageFooter>
<band height="54" splitType="Stretch"/>
</pageFooter>
<summary>
<band splitType="Stretch"/>
</summary>
</jasperReport>Please note that the subreport is embedded like this:
<subreportExpression><![CDATA["Blank_A4_SUBREPORT.jrxml"]]></subreportExpression>Subreport (Blank_A4_SUBREPORT.jrxml):
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 7.0.2.final using JasperReports Library version 6.5.1 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Blank_A4_1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f5450417-6f35-4348-b716-aa42c25e7a38">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<queryString>
<![CDATA[SELECT 'BCD' AS B FROM DUAL]]>
</queryString>
<field name="B" class="java.lang.String">
<property name="com.jaspersoft.studio.field.name" value="B"/>
<property name="com.jaspersoft.studio.field.label" value="B"/>
</field>
<background>
<band splitType="Stretch"/>
</background>
<detail>
<band height="30" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="100" height="30" uuid="41619b1d-f352-4a02-9cde-15dc98836c11"/>
<text><![CDATA[Subreport]]></text>
</staticText>
</band>
</detail>
</jasperReport>Embedding in ReportServer (via filename):
Result in ReportServer:
We will adapt the documentation to reflect this example.
Regards,
Eduardo
Offline
Thanks Eduardo,
OK, I've created a new blank report in JasperStudio, and added the existing sub-reports. This appears to have corrected the JRXML parsing errors. The output report appears blank though, this is due to an incompatibility with the date parameters. Is it possible to format the date in a way that MySQL/MariaDB can understand it?
Thanks,
Garrick
Offline
Hi gsconsulting,
subreports are supported in ReportServer as the following minimal example demonstrate:
Main report: (Blank_A4_MAIN.jrxml)
<?xml version="1.0" encoding="UTF-8"?> <!-- Created with Jaspersoft Studio version 7.0.2.final using JasperReports Library version 6.5.1 --> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Blank_A4" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="405c4fbc-f2a3-4731-aca5-6e868986281e"> <property name="com.jaspersoft.studio.data.sql.tables" value=""/> <queryString> <![CDATA[SELECT 'ABC' AS A FROM DUAL]]> </queryString> <field name="A" class="java.lang.String"> <property name="com.jaspersoft.studio.field.name" value="A"/> <property name="com.jaspersoft.studio.field.label" value="A"/> </field> <background> <band splitType="Stretch"/> </background> <title> <band height="79" splitType="Stretch"/> </title> <pageHeader> <band height="35" splitType="Stretch"/> </pageHeader> <columnHeader> <band height="61" splitType="Stretch"> <staticText> <reportElement x="123" y="20" width="100" height="30" uuid="8cff994d-c178-49bb-a4ea-3617a6cc9b2e"/> <text><![CDATA[Main]]></text> </staticText> </band> </columnHeader> <detail> <band height="110" splitType="Stretch"> <subreport> <reportElement x="0" y="10" width="560" height="100" uuid="714a4e42-99b0-4785-8359-9ab42505aaaf"/> <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> <subreportExpression><![CDATA["Blank_A4_SUBREPORT.jrxml"]]></subreportExpression> </subreport> </band> </detail> <columnFooter> <band height="45" splitType="Stretch"/> </columnFooter> <pageFooter> <band height="54" splitType="Stretch"/> </pageFooter> <summary> <band splitType="Stretch"/> </summary> </jasperReport>Please note that the subreport is embedded like this:
<subreportExpression><![CDATA["Blank_A4_SUBREPORT.jrxml"]]></subreportExpression>Subreport (Blank_A4_SUBREPORT.jrxml):
<?xml version="1.0" encoding="UTF-8"?> <!-- Created with Jaspersoft Studio version 7.0.2.final using JasperReports Library version 6.5.1 --> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Blank_A4_1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f5450417-6f35-4348-b716-aa42c25e7a38"> <property name="com.jaspersoft.studio.data.sql.tables" value=""/> <queryString> <![CDATA[SELECT 'BCD' AS B FROM DUAL]]> </queryString> <field name="B" class="java.lang.String"> <property name="com.jaspersoft.studio.field.name" value="B"/> <property name="com.jaspersoft.studio.field.label" value="B"/> </field> <background> <band splitType="Stretch"/> </background> <detail> <band height="30" splitType="Stretch"> <staticText> <reportElement x="0" y="0" width="100" height="30" uuid="41619b1d-f352-4a02-9cde-15dc98836c11"/> <text><![CDATA[Subreport]]></text> </staticText> </band> </detail> </jasperReport>Embedding in ReportServer (via filename):
https://i.ibb.co/M52xzxDx/screen.png
Result in ReportServer:
https://i.ibb.co/zWth8TDv/screen2.png
We will adapt the documentation to reflect this example.
Regards,
Eduardo
Hi Eduardo,
I have worked out that the original execption was misleading. The problem was not with the sub-reports, but rather with the image. Replaceing the image URL with the id link generated in the filesystem, fixes this problem, but this isn't portable. Is there a way of using a relative URL for an image in a report, so that the report can be ported to another server if needed?
Also, I have worked around the date format issue, but using DATE_TO_STR in the SQL query, but this too isn't portable. Is there an example somewhere of how to use the .format function with a date parameter?
Thanks,
Garrick
Offline
Hello Garrick
Thank you for your inquiry. Currently, there is no active ReportServer support package associated with your account.
To assist you efficiently and individually, you can find a selection of suitable service packages on our website ( Shop - Reportserver ).
Best regards
Jasmin
Offline
Pages: 1