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
Pages: 1