<?xml version="1.0"?>
<rss version="2.0"><channel><title>Knowledge Base: Troubleshooting</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/?d=6</link><description>Knowledge Base: Troubleshooting</description><language>en</language><item><title>Excel output exported from Ad Hoc View/Report does not display in users logged in timezone</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/excel-output-exported-ad-hoc-viewreport-does-not-display-users-logged-timezone/</link><description><![CDATA[<p></p><h2>Issue:</h2><p>When exporting an Ad Hoc View or Report to Excel, the Excel output displays the timezone in the system timezone and not in the users logged in timezone.</p><hr><h2></h2><p>Solution:</p><p>For export to Excel, you would need to set this property to true:</p><p><em>net.sf.jasperreports.export.xls.use.timezone</em></p><p>This property determines whether date values are to be translated to the timezone that was used to fill the report. </p><p>The property only has effect when <em>net.sf.jasperreports.export.xls.detect.cell.type </em>is also set to true.</p><p>By default, date values are exported to Excel using the default timezone of the system.</p><p>More information can be found on this page:</p><p><a rel="external nofollow" href="http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.xls.use.timezone"><em>http://jasperreports.sourceforge.net/config.reference.html#net.sf.jasperreports.export.xls.use.timezone</em></a></p>]]></description><guid isPermaLink="false">2788</guid><pubDate>Thu, 19 Oct 2017 06:24:59 +0000</pubDate></item><item><title>Unable to preview jsondatasource report delivered with JasperReportsSamples in Jaspersoft Studio</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/unable-preview-jsondatasource-report-delivered-jasperreportssamples-jaspersoft-studio/</link><description><![CDATA[<h2>Issue:</h2><p>There are 2 issues encountered whilst trying to preview the sample report, <em>JsonCustomersReport.jrxml</em>, under JasperReportsSamplesjsondatasource:</p><ol><li><p>Previewing the JsonCustomersReport.jrxml produces a report with null data.</p></li><li><p>Previewing the JsonCustomersReport.jrxml generates error "<strong><em>Unable to get value for JSON field "OrderDate" of class java.util.Date</em></strong>".</p></li></ol><hr><h2>Solution:</h2><ol><li><p>The data adapter is showing up as "One Empty Record" for the Json sample report to show null. It is necessary to create a JSON data adapter (eg "JSONData") with a File/URL pointing to "..jsondatasourcedatanorthwind.json" as the data source. This data source can then be used for the sample json reports. This property can be referenced in the Advanced tab -&gt; Properties property or in the Source tab:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>&lt;property name="net.sf.jasperreports.json.source" value="data/northwind.json"/&gt;
&lt;property name="com.jaspersoft.studio.data.defaultdataadapter" value="JSONData"/&gt;
</code></pre></li></ol><ol><li><p>The OrderDate class type is set to<em> java.util.Date </em>by default for the subreport <em>JsonOrdersReport.jrxml</em>. In order to resolve the error:</p><ol><li><p>Open JsonOrdersReport.jrxml and in the Design tab.</p></li><li><p>Expand Fields and click on field OrderDate. </p></li><li><p>Modify the OrderDate class type from <em>java.util.Date</em> to<em> java.sql.Date.</em></p></li><li><p>Save and re-compile the report to regenerate the .jasper file.<br><br>NOTE : The article describes a specific use case and presents a generic solution that may be applicable for troubleshooting or resolving similar issues.</p></li></ol></li></ol>]]></description><guid isPermaLink="false">2694</guid><pubDate>Thu, 27 Jul 2017 00:50:05 +0000</pubDate></item><item><title>Getting 401 Error When Making REST Request to Get Dashboards From User's Application</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/getting-401-error-when-making-rest-request-get-dashboards-users-application/</link><description><![CDATA[<h3>Problem</h3><p>User is getting a response error "401 unauthorized" for a REST request made from their application using JasperRestClient.getDashboards() method.</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>GET https://usersclient.com/jasperserver-pro/rest_v2/resources?folderUri=/public/Dashboards 
</code></pre><p>returned a response status of 401 Unauthorized </p><hr><h3>Resolution</h3><p>It is suggested to check proper access permission of resource folder and temp folder for TIBCO JasperReports<sup><span class="ipsEmoji">®</span></sup> Server user used to initiate the request from their application. Alternately, it is advised to use superuser to initiate the request from their application which resolved the error.</p><h3>Note</h3><p>ROLE_SUPERUSER alone will not secure a resource access permission. This role must be used in conjunction with ROLE_ADMINISTRATOR to work correctly. Please review this web posting in customer wiki site for further detail: </p><p><a rel="" href="https://community.jaspersoft.com/wiki/why-user-rolesuperuser-assignment-does-not-seem-have-superuser-privileges">https://community.jaspersoft.com/wiki/why-user-rolesuperuser-assignment-does-not-seem-have-superuser-privileges</a></p><hr><p><strong><em>TTC-20190429</em></strong></p>]]></description><guid isPermaLink="false">3408</guid><pubDate>Mon, 29 Apr 2019 18:25:59 +0000</pubDate></item><item><title>Getting "error in opening zip file" When Starting TIBCO JasperReports&#xAE; Server 7.1.0</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/getting-error-opening-zip-file-when-starting-tibco-jasperreports-server-710/</link><description><![CDATA[<div class="ipsRichText__table-wrapper"><table style="min-width: 40px;"><colgroup><col style="min-width:20px;"><col style="min-width:20px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><h2>Problem</h2><p>A user has encountered a start up problem with TIBCO JasperReports<sup><span class="ipsEmoji">®</span></sup> Server, which was working prviously until after being recycled. After reviewing jasperserver.log file, it is indicated that TIBCO JasperReports Server deployment has the following error:</p></td><td colspan="1" rowspan="1"><p>[toc]</p></td></tr></tbody></table></div><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>org.apache.catalina.LifecycleException: Failed to start component [org.apache.catalina.webresources.StandardRoot@1c994238]

..........

java.util.zip.ZipException: error in opening zip file
</code></pre><h2>Diagnose</h2><p>The installation log file for this TIBCO JasperReports Server instance confirmed it was successfully installed; therefore, the only possible explanation of this zip file opening error is that either a change was unintentionally made to the TIBCO JasperReports Server instance (unbeknownst to the user), or some events occurred that corrupted a jar file in the deployment.</p><hr><h2>Resolution</h2><p>A close review to this TIBCO JasperReports Server deployment, it appears someone had put some custom jar files in this deployment which contain an incorrect structure that Tomcat is not able to expand its class methods from the jar zips therefore causing the deployment error at server start-up time.</p><p>After removing those suspected problematic jars from TIBCO JasperReports Server installation (jasperserver-proWEB-INFlib directory), TIBCO JasperReports Server started successfully. </p><p>It is suggested that should users do need those class methods in those jars for product customization, they need to make sure the jars are created correctly and compatible with JVM version 1.8 bundled with TIBCO JasperReports Server 7.1.0.</p><hr><p><strong><em>TTC-20190422</em></strong><em>-1739030</em></p><p></p><p><em>Note: This is a specific use case related to the custom jar placed in the classpath of Jasperserver v7.1</em></p>]]></description><guid isPermaLink="false">3402</guid><pubDate>Mon, 22 Apr 2019 19:15:05 +0000</pubDate></item><item><title>CORS error while accessing jasperserver with visualize.js</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/cors-error-while-accessing-jasperserver-visualizejs/</link><description><![CDATA[<p><strong>Problem Description:</strong></p><p>You might be deploying JasperServer in OpenShift using Docker files. When running reports from the instance using visualize.js you are consistently getting a CORS error on OPTIONS settings.html request with 403 Forbidden response.  <br>Specific error is, No 'Access-Control-Allow-Origin' header is present on the requested resource.</p><p>- Your version of jasperserver is v7.9.0.<br>- Domain whitelist set to *<br>- The log file seems to indicate that the request did not go through the CORS filter<br>- and none of the documented known CORS related settings seem to matter.</p><p><strong>Possible Solution:</strong></p><p>Check and see if you have deleted anonymous user from root.  If so, add it back and see if it works. If it works, the problem is related to a known issue logged under JS-62587.<br>Check with your support engineer to see what the latest update is for this issue.</p><p> </p>]]></description><guid isPermaLink="false">4094</guid><pubDate>Fri, 10 Sep 2021 07:04:02 +0000</pubDate></item><item><title>JRS running behind IIS proxy: error 400 when running a report with large number of input controls</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/filters-are-not-working-reports-large-number-input-controls/</link><description><![CDATA[<p></p><h2>Problem:</h2><p>There is a JasperReports Server that is deployed <strong>behind an IIS proxy</strong>. When users are running ad hoc reports with a large number of filters/input controls the filtering does not get applied. The REST request for the filters returns a 400 error:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>HTTP/1.1 400 Bad Request
Content-Type: text/html; charset=us-ascii
Server: Microsoft-HTTPAPI/2.0
Date: Fri, 28 Aug 2015 16:45:30 GMT
Connection: close
Content-Length: 324
</code></pre><h2>Solution:</h2><p>This solution is only relevant if you have JasperReports Server deployed behind <strong>IIS. </strong>IIS is used quite commonly as a proxy server that sits in front of the application server in Windows shops. Default settings of the proxy server permit you from sending requests with large URL segment which is what happens in this case. They get defaulted to 400 response and fail. The default limit for the URL segment is 260 characters, the setting is found in the http.sys settings on Windows Servers.</p><p>The defaults, which are unspecified on a stock Windows Server 2008 install, are documented on this KB,</p><p><a rel="external nofollow" href="https://support.microsoft.com/en-us/kb/820129">https://support.microsoft.com/en-us/kb/820129</a></p><p>The relevant setting in this case is named "UrlSegmentMaxLength", a DWORD value with a default of 260, can be configured between 0 - 32,766 chars. In the above example, the largest segment generated in the ajax request was 760 chars.</p><p>Increasing the setting to 8092 in the registry, and rebooting the server resolves the issue for the foreseeable future.</p>]]></description><guid isPermaLink="false">2070</guid><pubDate>Thu, 19 Nov 2015 02:50:57 +0000</pubDate></item><item><title>Interactive Table Filtering Error: Decimal Values Not Filtering Accurately</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/report-jive-column-filters-are-not-filtering-correctly-decimal-values/</link><description><![CDATA[<h2>Issue:</h2><p>In a report, we are trying to use the column filter on a table column field to filter on values matching the condition but it does not return the expected rows. </p><p><u>For example:</u></p><p>In the report there is a table with a field containing value 1.629214.</p><p>We set the  '<em>Column filters</em>' on this column to:</p><p>Condition: "Show only rows where" Equals 1.629214 </p><p>Result: There are no rows returned</p><p>We noticed that when we select the '<em>Column filters</em>' again, the actual value was automatically truncated to 1.629 instead of keeping the entered value of 1.629214.</p><p>How do we resolve this so that we get the results returned for the exact filter value entered ?</p><p> </p><hr><p> </p><h2>Solution:</h2><p>There is a configurable pattern in:</p><p><strong><em>&lt;jasperserver-webapp&gt;/WEB-INF/bundles/jasperreports_messages[_lang[_country]].properties</em></strong></p><p>under the key:</p><p><strong><em>net.sf.jasperreports.components.number.pattern</em></strong></p><p>that defaults to:</p><p>###,###.###</p><p>This can be adjusted to contain more digits after the decimal place :</p><p>###,###.######</p><p>The pattern is used to adjust both numbers on server and the ones coming from the UI when comparing them for filtering purposes.</p><p> </p><hr><p>ref: 01844211 </p>]]></description><guid isPermaLink="false">3753</guid><pubDate>Tue, 03 Mar 2020 03:33:05 +0000</pubDate></item><item><title>Postgres backup command pg_dump failed on database connection</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/postgres-backup-command-pgdump-failed-database-connection/</link><description><![CDATA[<p></p><h2>Issue:</h2><p>As per the command:</p><p>pg_dump --username=postgres  jasperserver  &gt;  js-db-dump.sql</p><p>we received an error message:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>pg_dump: [archiver (db)] connection to database "jasperserver" failed: could not connect to server: No such file or directory

Is the server running locally and accepting

connections on Unix domain socket "/var/run/postgresql/.s.PGSQL.5432"?</code></pre><p> </p><p>To get rid of this error, we tried the following command for backup:</p><p>pg_dump jasperserver -U jasperdb -h localhost &gt; js-db-dump-13FEB2020.sql</p><p>but received:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>connection to database "jasperserver" failed: could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?</code></pre><p>How to overcome these issues to successfully generate the dump file ?</p><p> </p><hr><h2> </h2><h2>Solution:</h2><p>The error represents a connection problem to the postgres database. </p><p>So it is essential to firstly know whether the postgres is running and on what port number (default port is 5432). </p><p>Once you know this information, you can use this to force the connection with extra parameters passed with the pg_dump command :</p><p>-h host </p><p>-p port</p><p>-U username</p><p>-W</p><p>You can refer to the following page for reference:</p><p><a rel="external nofollow" href="https://www.postgresql.org/docs/9.3/app-pgdump.html">https://www.postgresql.org/docs/9.3/app-pgdump.html</a></p><p>If it is still an issue and the error that you are getting remains exactly the same then probably there is an incorrect path to socket. </p><p>Backup tried to connect to /var/run/postgresql/.s.PGSQL.5432 but it does not exist. Hence you can check this article:</p><p><a rel="external nofollow" href="https://stackoverflow.com/questions/31645550/why-psql-cant-connect-to-server">https://stackoverflow.com/questions/31645550/why-psql-cant-connect-to-server</a></p><p>to check for the location of the socket file and verify the configuration files, pg_hba.conf and postgresql.conf are correctly set.</p><p>There are mentions to check for unix_socket_directories parameter setting and set it to<em> /tmp</em>. </p><p>It is recommended to check that this parameter is in place as well:</p><p>listen_addresses = '*'</p>]]></description><guid isPermaLink="false">3754</guid><pubDate>Tue, 03 Mar 2020 04:05:14 +0000</pubDate></item><item><title>Crosstab and Table header toolbar buttons are not displaying correctly in IE 11</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/crosstab-and-table-header-toolbar-buttons-are-not-displaying-correctly-ie-11/</link><description><![CDATA[<p></p><h2>Issue:</h2><p></p><p>In JasperReports<sup><span class="ipsEmoji">®</span></sup> Server 6.3, when using Internet Explorer 11, crosstab and table header toolbar buttons are not visible. The user can only see an outlined box. Due to this issue, users are unable to click on the Formatting, Filter, and Sort icons to display results. </p><p></p><p>This issue does not occur with other browser types such as Chrome or Microsoft Edge.</p><p></p><p> </p><p></p><hr><h2>Solution:</h2><p></p><p>The issue can arise in situations where there is infrastructure security hardening implemented on the network. As part of the security hardening, the "<em>X-Content-Type-Options: nosniff</em>" was included in the HTTP configuration which blocks the image from displaying without a mime-type set.</p><p></p><p>The issue has been fixed in a later release with modifications to the jasperreports_extension.properties file. </p><p></p><p>The workaround is to modify the jasperreports_extension.properties file located under WEB-INFclasses (or in a location that's part of your application's classpath) and add the following lines:</p><p></p><p><em>net.sf.jasperreports.extension.registry.factory.content.type.mapping=net.sf.jasperreports.web.util.ContentTypeMappingExtensionsRegistryFactory</em></p><p><em>net.sf.jasperreports.extension.content.type.mapping.png=image/png</em></p><p><em>net.sf.jasperreports.extension.content.type.mapping.gif=image/gif</em></p><p> </p><p></p><hr><h3>Related article:</h3><p></p><p><a rel="" href="https://community.jaspersoft.com/jasperreports-library/issues/9511"><em>http://community.jaspersoft.com/jasperreports-library/issues/9511</em></a></p><p> </p>]]></description><guid isPermaLink="false">2674</guid><pubDate>Mon, 26 Jun 2017 00:18:11 +0000</pubDate></item><item><title>RESTv2: Setting theme of a sub-organization returns 404 error</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/restv2-setting-theme-sub-organization-returns-404-error/</link><description><![CDATA[<p></p><h2>Issue:</h2><p>Using REST_v2 API to try and set the theme of a sub-organization, '<em>East_Chain</em>', the response returned is a <strong>404 status code</strong>. </p><p><u>Basic Auth</u></p><p><em>username: superuser</em></p><p>password: superuser</p><p><u>Request</u></p><p><em>PUT: http://&lt;server&gt;:8080/jasperserver-pro/rest_v2/jasperserver-pro/rest_v2/organizations/Top_Chain/East_Chain</em></p><p>or </p><p><em>PUT: http://&lt;server&gt;:8080/jasperserver-pro/rest_v2/jasperserver-pro/rest_v2/organizations/Top_Chain/organizations/East_Chain</em></p><p><u>Body</u></p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>{
"theme":"pods_summer"
} </code></pre><p>How to successfully set the theme for a sub-organization ?</p><p> </p><hr><h2> </h2><h2>Solution:</h2><p>The REST API service only has the structure to set the theme to an organization and not to a sub-organization.</p><p> </p><p>Setting this:</p><p><em>/jasperserver-pro/rest_v2/organizations/Top_Chain/East_Chain</em></p><p>will return <strong>404 </strong>because the REST API expects this format:</p><p><em>/jasperserver-pro/rest_v2/organizations/&lt;organization&gt;</em></p><p> </p><p>and hence <em>&lt;organization&gt;</em> then becomes "<em>Top_Chain/East_Chain</em>" which doesn't exist.</p><p> </p><p>In order to set the theme to a sub-organization, "<em>East_Chain</em>":</p><p>1&gt; Set the REST authentication to the administrator of the parent organization. For example:</p><p><u>Basic Auth</u></p><p><strong>username: jasperadmin|Top_Chain</strong></p><p>password: jasperadmin</p><p> </p><p>2&gt; Issue a REST call like this:</p><p> </p><p><em>PUT: http://&lt;server&gt;:8080/jasperserver-pro/rest_v2/organizations/East_Chain</em></p><p>For more information on setting themes to an organization, refer to "<em>TIBCO JasperReports<span class="ipsEmoji">®</span> Server REST API Reference</em>" section<em> "21.5 Setting the Theme of an Organization"</em></p><hr><p>ref 01844815 </p>]]></description><guid isPermaLink="false">3706</guid><pubDate>Thu, 13 Feb 2020 05:43:04 +0000</pubDate></item><item><title>Styled text does not get applied to the field in some cases</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/styled-text-does-not-get-applied-field-some-cases/</link><description><![CDATA[<h2>Problem:</h2><p>You have a report with a text field where you want to use styled text markup. For example:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>"&lt;style&gt;&lt;b&gt;Some text: &lt;/b&gt;&lt;/style&gt;" + $F{SomeField}
</code></pre><p>While this works fine for most fields, some fields do not get the bold style applied.</p><hr><h2>Solution:</h2><p>Styled text is essentially an XML and follows the same rules and restrictions as XML. <strong><span style="font-family: Courier, monospace;">$F{SomeField} </span></strong>which is appended to styled text might contain symbols which are not allowed in XML without escaping them like ampersand. These symbols need to be escaped before appending.<br><br><br>NOTE:  "&lt;style&gt;&lt;b&gt;Company Name: &lt;/b&gt;&lt;/style&gt;" + net.sf.jasperreports.engine.util.JRStringUtil.xmlEncode($P{TestData})</p><p>After using the above and the bold styling will now render perfectly without being broken by special characters!</p>]]></description><guid isPermaLink="false">2064</guid><pubDate>Thu, 19 Nov 2015 02:09:04 +0000</pubDate></item><item><title>Incorrect Crosstab row group total arising from a dataset created using a right outer join</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/incorrect-crosstab-row-group-total-arising-dataset-created-using-right-outer-join/</link><description><![CDATA[<div class="ipsRichText__table-wrapper"><table style="min-width: 40px;"><colgroup><col style="min-width:20px;"><col style="min-width:20px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><h2>Issue:</h2><p>There are two tables with a common key field, CUSTOMER_ID:</p><p>1. customer_credit - contains only 2 records where the sum of the CREDIT field is 150  <br>2. customer_sale - contains related data</p><p>These two tables are right joined together by CUSTOMER_ID as follows:</p></td><td colspan="1" rowspan="1"><p>[toc]</p></td></tr></tbody></table></div><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>SELECT customer_credit."CUSTOMER_ID", customer_credit."CUSTOMER_NAME", customer_credit."CREDIT",
customer_sale."YEAR" || '-' || lpad(customer_sale."MONTH"::text,2,'0') as "SALE_MONTH",customer_sale."SALE_AMOUNT" 
FROM
public."customer_credit" 
RIGHT JOIN public."customer_sale" ON
customer_credit."CUSTOMER_ID" = customer_sale."CUSTOMER_ID"
ORDER BY customer_credit."CUSTOMER_ID",customer_credit."CUSTOMER_NAME", customer_sale."YEAR", customer_sale."MONTH"</code></pre><p>The result of this join produces a dataset where the sum of the CREDIT field is 600. This is the main dataset query behind the Crosstab report. </p><p>After creating a Crosstab, the aggregation for CREDIT is incorrect as illustrated below:</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90017" src="//media.invisioncic.com/i328763/monthly_2017_10/report_preview.png.1ac949cbe83d52134441f759b328dd05.png" alt="report_preview.png.1ac949cbe83d52134441f759b328dd05.png" title="report_preview.png.1ac949cbe83d52134441f759b328dd05.png" data-full-image="//media.invisioncic.com/i328763/monthly_2017_10/report_preview.png.1ac949cbe83d52134441f759b328dd05.png" loading="lazy"></p><p>This is because the TOTAL CREDIT (shown as 600) is derived from the SUM of the CREDIT field based on the dataset query. </p><p>What needs to be done to accurately calculate the TOTAL CREDIT so that the value reflects 150 instead of 600 ?</p><hr><h2>Solution:</h2><p>The only solution is to create a report group on CUSTOMER, and feed to the crosstab measure $F{CREDIT} for the first record in the group and 0 for all other records. Note that this takes advantage that the query orders the records by CUSTOMER_ID (and CUSTOMER_NAME).</p><p><strong><u>Steps:</u></strong></p><ol><li><p>In the crosstab outline tab, create group CUSTOMER with Expression $F{CUSTOMER_ID}:</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90018" src="//media.invisioncic.com/i328763/monthly_2017_10/crosstabgroup.jpg.a461927e177d34de118cb27a215d2f60.jpg" alt="crosstabgroup.jpg.a461927e177d34de118cb27a215d2f60.jpg" title="crosstabgroup.jpg.a461927e177d34de118cb27a215d2f60.jpg" data-full-image="//media.invisioncic.com/i328763/monthly_2017_10/crosstabgroup.jpg.a461927e177d34de118cb27a215d2f60.jpg" loading="lazy"></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90019" src="//media.invisioncic.com/i328763/monthly_2017_10/crosstabgroup2.jpg.e830e062330aac8835483cbc9fc392ea.jpg" alt="crosstabgroup2.jpg.e830e062330aac8835483cbc9fc392ea.jpg" title="crosstabgroup2.jpg.e830e062330aac8835483cbc9fc392ea.jpg" data-full-image="//media.invisioncic.com/i328763/monthly_2017_10/crosstabgroup2.jpg.e830e062330aac8835483cbc9fc392ea.jpg" loading="lazy"></p></li><li><p>For TOTAL_CREDIT Measure, set the Expression to :"$V{CUSTOMER_COUNT} == 1 ? $F{CREDIT} : 0" and ensure Calculation is SUM.</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90020" src="//media.invisioncic.com/i328763/monthly_2017_10/crosstabtotalcredit.jpg.d7ee546a2f9dca4962825a9489bbe573.jpg" alt="crosstabtotalcredit.jpg.d7ee546a2f9dca4962825a9489bbe573.jpg" title="crosstabtotalcredit.jpg.d7ee546a2f9dca4962825a9489bbe573.jpg" data-full-image="//media.invisioncic.com/i328763/monthly_2017_10/crosstabtotalcredit.jpg.d7ee546a2f9dca4962825a9489bbe573.jpg" loading="lazy"></p></li></ol><p>Note that the CUSTOMER_COUNT variable will be automatically created after creating the CUSTOMER group.</p><p>This is the end result:</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90022" src="//media.invisioncic.com/i328763/monthly_2017_10/endresult.jpg.fe1b43dbb737e94faca0f4d817eabfe1.jpg" alt="endresult.jpg.fe1b43dbb737e94faca0f4d817eabfe1.jpg" title="endresult.jpg.fe1b43dbb737e94faca0f4d817eabfe1.jpg" data-full-image="//media.invisioncic.com/i328763/monthly_2017_10/endresult.jpg.fe1b43dbb737e94faca0f4d817eabfe1.jpg" loading="lazy"></p><p>See attached JRXML and other scripts to sample this report. Attached are:</p><ol><li><p>JRXML file containing simple crosstab</p></li><li><p>postgrescreatesql.txt containing sql statement to to create and populate the two tables</p></li><li><p>report_query_postgres.sql which is the query behind the report </p></li></ol><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90021" src="//media.invisioncic.com/i328763/monthly_2017_10/crosstabtotalcredit.jpg.66304459f120e347b6a1cd61d28dc04b.jpg" alt="crosstabtotalcredit.jpg.66304459f120e347b6a1cd61d28dc04b.jpg" title="crosstabtotalcredit.jpg.66304459f120e347b6a1cd61d28dc04b.jpg" data-full-image="//media.invisioncic.com/i328763/monthly_2017_10/crosstabtotalcredit.jpg.66304459f120e347b6a1cd61d28dc04b.jpg" loading="lazy"></p><p><a class="ipsAttachLink" data-fileid="130548" data-fileext="txt" data-extension="txt" href="https://community.jaspersoft.com/applications/core/interface/file/attachment.php?id=130548&amp;key=4c1bebf11804dec7411f511b77f51396" rel="">postgrescreatesql.txt</a></p><p><a class="ipsAttachLink" data-fileid="130549" data-fileext="sql" data-extension="sql" href="https://community.jaspersoft.com/applications/core/interface/file/attachment.php?id=130549&amp;key=8c7e766421d44040d411917de2a8d966" rel="">report_query_postgres.sql</a></p><p><a class="ipsAttachLink" data-fileid="130550" data-fileext="jrxml" data-extension="jrxml" href="https://community.jaspersoft.com/applications/core/interface/file/attachment.php?id=130550&amp;key=363376024da0f971f42781140328484b" rel="">crosstab_row_group_total_test_modified.jrxml</a></p>]]></description><guid isPermaLink="false">2787</guid><pubDate>Thu, 19 Oct 2017 03:17:18 +0000</pubDate></item><item><title>Database Connection Error: Malformed database URL (WrongArgumentException) in JasperReports Server 10 Buildomatic with Native MySQL Oracle Driver</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/database-connection-error-malformed-database-url-wrongargumentexception-in-jasperreports-server-10-buildomatic-with-native-mysql-oracle-driver-r5041/</link><description><![CDATA[<h2>Description</h2><p>During JasperServer installation, upgrade, or import/export (<code>iePro</code>) tasks using Buildomatic, the process fails to connect to the database. The error log specifically indicates a failure to parse the JDBC connection string, highlighting escaped ampersand characters (<code>&amp;amp;</code>).</p><p>The error stack trace looks like this:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>[java] ERROR SqlExceptionHelper:150 - Cannot create PoolableConnectionFactory (Cannot load connection class because of underlying exception: com.mysql.cj.exceptions.WrongArgumentException: Malformed database URL, failed to parse the connection string near ';characterEncoding=UTF-8&amp;amp;autoReconnectForPools=true&amp;amp;tinyInt1isBit=false&amp;amp;sslMode=REQUIRED&amp;amp;allowPublicKeyRetrieval=true'.)

</code></pre><h2>Cause</h2><p>This error is caused by a syntax conflict between XML escaping rules and Java <code>.properties</code> file parsing, and it specifically surfaces when the system is actively using the official Oracle MySQL JDBC Driver (<code>mysql-connector-j</code>).</p><p>Buildomatic utilizes various configuration files. While standard XML files require ampersands to be escaped as <code>&amp;amp;</code> to be considered valid, Java <code>.properties</code> files (and the underlying Spring Framework that reads them) expect standard, unescaped <code>&amp;</code> symbols to separate URL parameters.</p><p>If a user or administrator updates the JDBC URL templates in the <code>db.template.properties</code> file and accidentally uses the XML-escaped <code>&amp;amp;</code> instead of a standard <code>&amp;</code>, the native Oracle MySQL JDBC driver attempts to read <code>amp;</code> as a literal part of the parameter name. This breaks the expected URL syntax, causing the driver to throw a <code>Malformed database URL</code> exception. <em>(Note: The MariaDB drop-in driver parses these differently and may not throw this specific exception).</em></p><h2>Resolution</h2><p>To fix this, you must remove the XML-escaped ampersands from the JDBC URL templates and replace them with standard ampersands.</p><p><strong>Step 1: Locate the Database Template File</strong> Navigate to your Buildomatic configuration source folder and open the database template properties file for your specific database (e.g., MySQL): <code>&lt;js-install&gt;/buildomatic/conf_source/db/mysql/db.template.properties</code></p><p><strong>Step 2: Correct the Connection Strings</strong> Look for the JDBC URL properties (such as <code>admin.jdbcUrl</code>, <code>js.jdbcUrl</code>, <code>sugarcrm.jdbcUrl</code>, etc.). Find any instances of <code>&amp;amp;</code> and replace them with <code>&amp;</code>.</p><p><em>Incorrect (Malformed):</em></p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>js.jdbcUrl=jdbc:mysql://${dbHost}:${dbPort}/${js.dbName}?useUnicode=true&amp;amp;characterEncoding=UTF-8&amp;amp;sslMode=REQUIRED

</code></pre><p><em>Correct:</em></p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>js.jdbcUrl=jdbc:mysql://${dbHost}:${dbPort}/${js.dbName}?useUnicode=true&amp;characterEncoding=UTF-8&amp;sslMode=REQUIRED

</code></pre><p><strong>Step 3: Check </strong><code>default_master.properties</code><strong> (Optional)</strong> If you have explicitly overridden the <code>js.jdbcUrl</code> or other connection strings directly inside your <code>&lt;js-install&gt;/buildomatic/default_master.properties</code> file, ensure you make the exact same correction there.</p><p><strong>Step 4: Re-run Buildomatic</strong> Once the files are saved, re-run your Buildomatic command. The Spring framework will correctly parse the URL parameters and establish the connection.</p>]]></description><guid isPermaLink="false">5041</guid><pubDate>Mon, 01 Jun 2026 18:59:40 +0000</pubDate></item><item><title>Configuring MySQL 8+ SSL Connections in JasperServer: sslMode=REQUIRED vs Legacy Properties</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/configuring-mysql-8-ssl-connections-in-jasperserver-sslmoderequired-vs-legacy-properties-r5040/</link><description><![CDATA[<h2>Description</h2><p>When installing or configuring JasperServer against a modern MySQL 8.x (or 8.4) database that mandates secure transport (<code>--require_secure_transport=ON</code>), connections fail during the Buildomatic <code>iePro</code> (import/export) phase or application runtime.</p><p>Users often encounter one of two errors:</p><ol><li><p><strong>Access Denied / Insecure Transport:</strong> <code>Connections using insecure transport are prohibited while --require_secure_transport=ON.</code></p></li><li><p><strong>PKIX Error:</strong> Setting legacy JDBC properties to force SSL results in <code>PKIX path building failed</code> before authentication completes.</p></li></ol><h2>Cause</h2><p>Starting in MySQL Connector/J 8.0.13, Oracle overhauled security parameters. They deprecated legacy individual flags (<code>useSSL</code>, <code>requireSSL</code>, <code>verifyServerCertificate</code>) and consolidated them into a single parameter: <code>sslMode</code>.</p><p>When configuring JasperServer's Spring data sources (like <code>ConfigurableDataSource</code> or DBCP pools):</p><ul><li><p>Mixing legacy properties (<code>useSSL=true</code>) with modern properties confuses the driver, often causing it to default to strict Java <code>TrustManager</code> validation, triggering a PKIX error.</p></li><li><p>Passing empty or deprecated properties can cause the driver to silently fall back to plain-text, triggering MySQL's strict <code>require_secure_transport</code> rejection.</p></li></ul><h2>Resolution</h2><p>To properly configure a modern MySQL 8.x database connection in JasperServer that enforces encryption but cleanly bypasses the Java keystore certificate validation, you should determine which underlying JDBC driver your application is actually using and apply the corresponding properties.</p><p><strong>Step 1: Locate your data source configuration</strong> Identify where your connection is being established. This is typically found in:</p><ul><li><p><code>buildomatic/conf_source/db/mysql/db.template.properties</code> (for installations)</p></li><li><p><code>buildomatic/conf_source/iePro/applicationContext-export-config.xml</code> (for export/import operations)</p></li><li><p><code>META-INF/context.xml</code> (for Tomcat JNDI connections post-installation)</p></li></ul><p><strong>Step 2: Apply the Appropriate Driver Parameters</strong></p><h3>Pathway 1: Official Oracle MySQL Driver (Standard)</h3><p>If your system is correctly utilizing the official MySQL driver (<code>mysql-connector-j</code>), you must exclusively use the modern parameters and eliminate all legacy flags.</p><p>Remove any instances of <code>useSSL=true</code>, <code>requireSSL=true</code>, or <code>verifyServerCertificate=false</code>. Instead, append the following directly to your JDBC URL or within your <code>&lt;map&gt;</code> of extra properties:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>sslMode=REQUIRED&amp;allowPublicKeyRetrieval=true
</code></pre><p><em>(Note: If configuring within an XML file, ensure the ampersand is escaped as </em><code>&amp;amp;</code><em>)</em></p><p><strong>How it works:</strong></p><ul><li><p><code>sslMode=REQUIRED</code> instructs the driver to establish an encrypted SSL tunnel (satisfying <code>--require_secure_transport=ON</code>), while simultaneously instructing the driver to <strong>not</strong> strictly verify the certificate against the Java <code>cacerts</code> keystore (preventing the PKIX error).</p></li><li><p><code>allowPublicKeyRetrieval=true</code> is necessary for MySQL 8's default <code>caching_sha2_password</code> authentication plugin to exchange credentials securely over the newly established tunnel.</p></li></ul><h3>Pathway 2: MariaDB Driver Fallback</h3><p>If you apply the properties from Pathway 1 and find that they are completely ignored (e.g., the server continues to throw "insecure transport" errors), your JasperServer instance may be experiencing "Driver Stealing." This means the application is silently utilizing the bundled MariaDB JDBC driver instead of the Oracle MySQL driver.</p><p>Because the MariaDB driver ignores MySQL's <code>sslMode</code> parameter, you must use its accepted legacy properties along with a specific MariaDB property to bypass hostname verification.</p><p>Instead of <code>sslMode</code>, append the following properties:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>useSSL=true&amp;requireSSL=true&amp;disableSslHostnameVerification=true
</code></pre><p><strong>Next Steps:</strong> If Pathway 2 resolves your connection issue, your system is actively using the MariaDB driver. For a detailed explanation of why this driver hijacking happens and instructions on how to permanently remove the MariaDB driver to force the system to use the official Oracle MySQL driver, please read the following article: <a rel="" href="https://community.jaspersoft.com/knowledgebase/troubleshooting/database-connection-error-ssl-hostname-verification-failed-disablesslhostnameverification-r5038/?&amp;do=getNewComment">Database Connection Error: SSL hostname verification failed (disableSslHostnameVerification)</a></p>]]></description><guid isPermaLink="false">5040</guid><pubDate>Mon, 01 Jun 2026 18:40:13 +0000</pubDate></item><item><title>Buildomatic Import/Export Database Connection Error: PKIX path building failed (unable to find valid certification path)</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/buildomatic-importexport-database-connection-error-pkix-path-building-failed-unable-to-find-valid-certification-path-r5039/</link><description><![CDATA[<h2>Description</h2><p>When running Buildomatic or attempting to connect JasperServer to a database over an SSL-encrypted connection, the connection pool fails to initialize, resulting in a fatal error during the build or deployment phase.</p><p>The error log specifically mentions a <code>SunCertPathBuilderException</code>:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>[java] ERROR SqlExceptionHelper:142 - Cannot create PoolableConnectionFactory (Could not connect to address=(host=your.db.host)(port=3306)(type=master) : Could not connect to your.db.host:3306 : (certificate_unknown) PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target)
</code></pre><h2>Cause</h2><p>This error occurs during Step 1 of the database connection sequence (The SSL Handshake).</p><p>Java successfully reaches the database server and initiates an encrypted tunnel. However, the database server presents an SSL certificate that the Java Virtual Machine (JVM) does not recognize or trust (often an auto-generated or self-signed certificate, such as the default MySQL 8 server certificate).</p><p>Because the JVM's <code>TrustManager</code> cannot verify the certificate's root of trust against its internal <code>cacerts</code> keystore, it immediately terminates the connection for security reasons, resulting in the <code>PKIX path building failed</code> error.</p><h2>Resolution</h2><p>While connection string parameters (like <code>verifyServerCertificate=false</code> or <code>sslMode=REQUIRED</code>) can sometimes bypass this check, the most robust and guaranteed solution is to import the database's SSL certificate directly into the JVM's keystore.</p><p><strong>Step 1: Extract the Certificate from the Database</strong> From a terminal with network access to the database, use OpenSSL to extract the public certificate. Run the following command (replace the host and port with your DB details):</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>echo -n | openssl s_client -connect your.db.host:3306 -starttls mysql | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' &gt; db_cert.pem
</code></pre><p><strong>Step 2: Import the Certificate into Java</strong> Locate the specific <code>JAVA_HOME</code> path that JasperServer/Buildomatic is utilizing. Use the <code>keytool</code> utility to import the <code>db_cert.pem</code> file into the <code>cacerts</code> keystore.</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>sudo keytool -import -alias jasper-db-cert -file db_cert.pem -keystore $JAVA_HOME/jre/lib/security/cacerts
</code></pre><p><em>Note: The default keystore password for Java is </em><code>changeit</code><em>.</em> <em>When prompted "Trust this certificate?", type </em><code>yes</code><em>.</em></p><p><strong>Step 3: Rerun the Process</strong> Once the certificate is imported, Java will natively trust the database's secure transport. Rerun your Buildomatic or JasperServer startup script. The PKIX error will be resolved, allowing the connection to proceed to the authentication phase.</p>]]></description><guid isPermaLink="false">5039</guid><pubDate>Mon, 01 Jun 2026 18:35:50 +0000</pubDate></item><item><title>Database Connection Error: SSL hostname verification failed (disableSslHostnameVerification)</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/database-connection-error-ssl-hostname-verification-failed-disablesslhostnameverification-r5038/</link><description><![CDATA[<h2>Description</h2><p>During the installation, upgrade, or import/export (<code>iePro</code>) phase using Buildomatic with a <strong>MySQL</strong> database, the build fails with connection errors that reference MariaDB-specific properties.</p><p>Even though <code>default_master.properties</code> is explicitly configured to use the official Oracle MySQL driver (<code>com.mysql.cj.jdbc.Driver</code> / <code>mysql-connector-j</code>), the log outputs errors such as:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>[java] ERROR SqlExceptionHelper:142 - Cannot create PoolableConnectionFactory (Could not connect to address=(host=your.db.host)(port=3306)(type=master) : SSL hostname verification failed : DNS host "your.db.host" doesn't correspond to certificate CN "mysql_server_8.4.x_auto_generated_server_certificate"
[java] This verification can be disabled using the option "disableSslHostnameVerification" but won't prevent man-in-the-middle attacks anymore)

</code></pre><h2>Cause</h2><p>This is caused by a Java Classloader phenomenon known as "Driver Stealing," which often surfaces when administrators attempt to troubleshoot SSL connections by adding explicit JDBC properties to the data source configuration.</p><p>Typically, this becomes apparent when users notice that modern MySQL properties like <code>sslMode=REQUIRED</code> are completely ignored, but adding legacy properties like <code>useSSL=true</code> directly to the <code>dataSource</code> bean's <code>extraProperties</code> map within the <code>buildomatic/conf_source/iePro/applicationContext-export-config.xml</code> file actually triggers an SSL connection attempt. This selective parameter handling is a strong indicator that the MariaDB driver is actively handling the connection instead of the Oracle MySQL driver.</p><p>The property <code>disableSslHostnameVerification</code> mentioned in the error does not actually exist in the official Oracle MySQL Connector/J driver; it is an exclusive property of the <strong>MariaDB Connector/J</strong>.</p><p>Because the MariaDB driver is engineered to be a drop-in replacement for MySQL, it is programmed to accept the <code>jdbc:mysql://</code> URL prefix. If the <code>mariadb-java-client.jar</code> is present in the local <code>iePro/lib</code> directory, the Java classloader loads it into memory <em>before</em> it reaches the global shared libraries.</p><p>When Spring asks the <code>DriverManager</code> to connect to <code>jdbc:mysql://</code>, the MariaDB driver answers first, intercepts the connection string, and executes the connection using MariaDB logic. This causes standard MySQL 8 parameters to be ignored and throws MariaDB-specific SSL errors when encountering self-signed or auto-generated database certificates.</p><h2>Resolution</h2><p>There are two ways to resolve this issue: you can either embrace the MariaDB driver and provide the property it is asking for, or you can remove the MariaDB driver to force the system to use the official MySQL driver.</p><h3>Option 1: Use the MariaDB Driver (Quick Fix)</h3><p>If you do not mind using the MariaDB driver (which is officially supported by Jaspersoft as a MySQL drop-in), you can simply provide the property the error message is asking for to bypass the hostname mismatch.</p><ol><li><p>Open the file <code>&lt;js-install&gt;/buildomatic/conf_source/iePro/applicationContext-export-config.xml</code>.</p></li><li><p>Locate the <code>dataSource</code> bean and its <code>extraProperties</code> map.</p></li><li><p>Add the <code>disableSslHostnameVerification</code> entry to the map alongside your SSL properties:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plaintext"><code>&lt;property name="extraProperties"&gt;
  &lt;map&gt;
    &lt;entry key="useSSL" value="true" /&gt;
    &lt;entry key="requireSSL" value="true" /&gt;
    &lt;entry key="disableSslHostnameVerification" value="true" /&gt;
  &lt;/map&gt;
&lt;/property&gt;

</code></pre></li><li><p>Rerun your Buildomatic command.</p></li></ol><h3>Option 2: Force the Oracle MySQL Driver (Root Cause Fix)</h3><p>To resolve the underlying hijacking issue and force Buildomatic to use the correct Oracle MySQL driver specified in your <code>default_master.properties</code>, you must remove the conflicting MariaDB jar from the local application library folder.</p><ol><li><p>Navigate to your JasperServer installation or Buildomatic root directory.</p></li><li><p>Locate the <code>mariadb-java-client</code> jar file inside the <code>iePro</code> library. Typical path: <code>&lt;js-install&gt;/buildomatic/conf_source/iePro/lib/mariadb-java-client-x.x.x.jar</code></p></li><li><p>Delete or move this <code>.jar</code> file out of the <code>lib</code> directory.</p></li><li><p>Rerun your Buildomatic command (e.g., <code>./js-install.sh</code> or <code>./js-ant import</code>).</p></li></ol><p>By removing the MariaDB jar from the localized <code>iePro/lib</code> folder, the Java classloader will fall back to the global <code>conf_source/db/mysql/jdbc</code> directory, successfully load the intended <code>mysql-connector-j</code> driver, and process standard MySQL configuration parameters (like <code>sslMode=REQUIRED</code>) correctly.</p>]]></description><guid isPermaLink="false">5038</guid><pubDate>Mon, 01 Jun 2026 18:21:37 +0000</pubDate></item><item><title>Cannot import organization: "Import failed. Import of the root to an organization is not allowed"</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/cannot-import-organization-import-failed-import-root-organization-not-allowed/</link><description><![CDATA[<h2>Problem:</h2><p>You have exported the organization and now try to import it to another server. When importing you get an error: "Import failed. Import of the root to an organization is not allowed"</p><hr><h2>Solution:</h2><p>This issue will happen when you export a path in an organization or whole organization as a URI in buildomatic without the --organization flag. This will generate you a regular export archive that contains all the resources under certain URI starting from the root. Then you try to import that archive with the --organization flag. This is incorrect, you need to have consistency with these flags since --organization flag expects an archive in certain format that contains only organization data.</p><p>How to correctly export and import organization using UI:</p><ol><li><p>Go to Manage -&gt; Organizations</p></li><li><p>Right click on organization name in left panel -&gt; export</p></li><li><p>On the target server go to Manage -&gt; Organization</p></li><li><p>Create a new organization. Right click on that organization -&gt; import</p></li></ol><p>To correctly export and import organization using buildomatic or web services make sure you're always providing the --organization flag.</p>]]></description><guid isPermaLink="false">2425</guid><pubDate>Thu, 27 Oct 2016 00:40:31 +0000</pubDate></item><item><title>Get "problem with some content" error when opening report exported as XLSX</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/get-problem-some-content-error-when-opening-report-exported-xlsx/</link><description><![CDATA[<p><strong>Problem:</strong></p><p>You have created a report and uploaded it to JasperReports server. When exporting that report to XLSX and opening it you get "problem with some content" error.</p><p><strong>Solution:</strong></p><p>This problem can be related to complex date format patterns. During XLSX export, JasperReports attempts to convert the Java date pattern into an Excel-compatible format. Since Excel cannot interpret the full pattern, the exported cell may contain an invalid numeric representatio.  For example pattern like this:</p><p>EEE, d MMM yyyy h:mm a z<br><br>This is a Java pattern and it doesn't have a match in Excel. It gets transformed into something like this: 42433.5511111109 and will be the source of this error. Use simpler Excel-compatible date patterns in the report for XLSX exports. If different formatting is needed for XLSX exports specifically, consider using exporter-specific properties or conditional formatting logic for Excel output.</p>]]></description><guid isPermaLink="false">2300</guid><pubDate>Fri, 10 Jun 2016 23:46:50 +0000</pubDate></item><item><title>Multi-byte characters are not all displayed in the text field after exporting to PDF format</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/multi-byte-characters-are-not-all-displayed-text-field-after-exporting-pdf-format/</link><description><![CDATA[<div class="ipsRichText__table-wrapper"><table style="min-width: 40px;"><colgroup><col style="min-width:20px;"><col style="min-width:20px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><h2>Issue:</h2><p>In TIBCO Jaspersoft<span class="ipsEmoji">®</span> Studio, after exporting a report to PDF the Japanese multi-byte characters are cut off from the textField. </p></td><td colspan="1" rowspan="1"><p>[toc]</p></td></tr></tbody></table></div><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90109" src="//media.invisioncic.com/i328763/monthly_2018_03/pdflostchars.jpg.d688e3713f5d9e2e7e1d31082c2c244d.jpg" alt="pdflostchars.jpg.d688e3713f5d9e2e7e1d31082c2c244d.jpg" title="pdflostchars.jpg.d688e3713f5d9e2e7e1d31082c2c244d.jpg" data-full-image="//media.invisioncic.com/i328763/monthly_2018_03/pdflostchars.jpg.d688e3713f5d9e2e7e1d31082c2c244d.jpg" loading="lazy"></p><p>Image below shows the expected characters to be displayed :</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90111" src="//media.invisioncic.com/i328763/monthly_2018_03/expectedchars.jpg.be01de16c14d88f7f4fb603db5aa8d71.jpg" alt="expectedchars.jpg.be01de16c14d88f7f4fb603db5aa8d71.jpg" title="expectedchars.jpg.be01de16c14d88f7f4fb603db5aa8d71.jpg" data-full-image="//media.invisioncic.com/i328763/monthly_2018_03/expectedchars.jpg.be01de16c14d88f7f4fb603db5aa8d71.jpg" loading="lazy"></p><p>There are no issues when displaying the report in java or HTML format.</p><p> </p><hr><h2>Solution:</h2><p>The problem was due to the font used for the textField. </p><p>After changing the font to use a different font, for example, <em>Adobe Heiti Std</em> (<em>Adobe Heiti Std R.ttf)</em> then all the characters appear in the PDF output. </p><p>The fonts that are used by the PDF output can be verified under File -&gt; Properties -&gt; Fonts tab of the PDF document.</p><p>Note: If a downloaded font is not listed, it can be added by going to Windows -&gt; Preferences -&gt; Jaspersoft Studio -&gt; Fonts -&gt; Add from Path</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90110" src="//media.invisioncic.com/i328763/monthly_2018_03/pdflostchars.jpg.521f55abca911ec91eb80f4aa0d5c641.jpg" alt="pdflostchars.jpg.521f55abca911ec91eb80f4aa0d5c641.jpg" title="pdflostchars.jpg.521f55abca911ec91eb80f4aa0d5c641.jpg" data-full-image="//media.invisioncic.com/i328763/monthly_2018_03/pdflostchars.jpg.521f55abca911ec91eb80f4aa0d5c641.jpg" loading="lazy"></p>]]></description><guid isPermaLink="false">2926</guid><pubDate>Tue, 06 Mar 2018 04:06:33 +0000</pubDate></item><item><title>User Profile Attributes Are Missing After Migration</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/user-profile-attributes-are-missing-after-migration/</link><description><![CDATA[<p>A user has exported TIBCO JasperReports<sup><span class="ipsEmoji">®</span></sup> Server repository users from one repository and imported them into another instance repository. After the migration, some of the profile attributes for users are missing.</p><p>To debug and resolve this issue, please follow the steps outlined below:</p><ol><li><p>Make sure to include user attributes when exporting repository content.</p></li><li><p>If the user already exists in the migration target repository, make sure to use update option for the import.</p></li><li><p>For migration of individual users, if those users have inherited profile attributes, make sure their parent users, with the attribute settings, also get migrated.</p></li></ol><p>Please refer to <a rel="" href="https://community.jaspersoft.com/documentation/jasperreports-server/tibco-jasperreports-server-administration-guide/v1000/jasperreports-server-admin-guide-_-importexport-_-through_the_command_line/#Exporting_from_the_Command_Line">TIBCO JasperReports<sup><span class="ipsEmoji">®</span></sup> Server Administrator Guide, chapter "Import and Export"</a> for more information.</p><hr><p><strong><em>TTC-20181118</em></strong><em>-1648887 </em></p>]]></description><guid isPermaLink="false">3210</guid><pubDate>Mon, 19 Nov 2018 02:24:07 +0000</pubDate></item><item><title>Debugging TIBCO JasperReports&#xAE; Server 7.1.0 Web UI Problem in AWS Deployment</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/debugging-tibco-jasperreports-server-710-web-ui-problem-aws-deployment/</link><description><![CDATA[<p>User had deployed TIBCO JasperReports<sup><span class="ipsEmoji">®</span></sup> Server 6.3.0 in AWS using their own deployment tool and template and it was working. Now this user used the same tool and template to deploy JasperReports<sup><span class="ipsEmoji">®</span></sup> Server 7.1.0 in AWS and got a strange web UI problem. When creating a dashboard, the DB connection pop up has this odd look:</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90537" src="//media.invisioncic.com/i328763/monthly_2018_11/1_5.png.ad5e488565c0552e30687b91a6c73e44.png" alt="1_5.png.ad5e488565c0552e30687b91a6c73e44.png" title="1_5.png.ad5e488565c0552e30687b91a6c73e44.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/1_5.png.ad5e488565c0552e30687b91a6c73e44.png" loading="lazy"></p><p>User had confirmed that they are using JasperReports Server 7.1.0 themes, cleared server and browser cache, not using Internet Explorer browser with compatibility view. There's no error found in server logs and in the browser. All their users experienced this problem in various browsers.</p><p>We had ran a similar test in a JasperReports Server 7.1.0 AWS deployment with standard template but could not replicate this problem. Further investigation was focused on network traffic gathered in HAR files. What we had found is that user's network traffic for the web flow has considerably less request than the standard installation.</p><p>user's deployment web flow:</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90538" src="//media.invisioncic.com/i328763/monthly_2018_11/2_6.png.86f2d8d9a721c71cb046b061e21c5848.png" alt="2_6.png.86f2d8d9a721c71cb046b061e21c5848.png" title="2_6.png.86f2d8d9a721c71cb046b061e21c5848.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/2_6.png.86f2d8d9a721c71cb046b061e21c5848.png" loading="lazy"></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90540" src="//media.invisioncic.com/i328763/monthly_2018_11/3_3.png.43856c31679e38a564acbcb2172048a6.png" alt="3_3.png.43856c31679e38a564acbcb2172048a6.png" title="3_3.png.43856c31679e38a564acbcb2172048a6.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/3_3.png.43856c31679e38a564acbcb2172048a6.png" loading="lazy"></p><p>standards deployment web flow:</p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90542" src="//media.invisioncic.com/i328763/monthly_2018_11/4_2.png.85e6370fe62caab372550c5dfbfafadd.png" alt="4_2.png.85e6370fe62caab372550c5dfbfafadd.png" title="4_2.png.85e6370fe62caab372550c5dfbfafadd.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/4_2.png.85e6370fe62caab372550c5dfbfafadd.png" loading="lazy"></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90544" src="//media.invisioncic.com/i328763/monthly_2018_11/5_2.png.d032bd4645630d335ab01ed8a0b2f72e.png" alt="5_2.png.d032bd4645630d335ab01ed8a0b2f72e.png" title="5_2.png.d032bd4645630d335ab01ed8a0b2f72e.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/5_2.png.d032bd4645630d335ab01ed8a0b2f72e.png" loading="lazy"></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90546" src="//media.invisioncic.com/i328763/monthly_2018_11/6_1.png.27bd56db5ecd8d330900bdb372181fb8.png" alt="6_1.png.27bd56db5ecd8d330900bdb372181fb8.png" title="6_1.png.27bd56db5ecd8d330900bdb372181fb8.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/6_1.png.27bd56db5ecd8d330900bdb372181fb8.png" loading="lazy"></p><p>One thing caught our eyes is that user's deployment called <strong><em>jquery-ui-1.10.4-custom.css</em></strong> component in the web flow while the standard deployed did not. By further searching the har file content, it is determined that this component was requested in <strong><em>require.config.js</em></strong>.</p><p>After comparing <strong><em>require.config.js</em></strong> file in JasperReports Server 7.1.0 and 6.3.0 deployments, we found the root cause of the problem that user had used 6.3.0 version of JasperReports Server script files in 7.1.0 installation.</p><hr><p><strong><em>TTC-20181112</em></strong></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90539" src="//media.invisioncic.com/i328763/monthly_2018_11/2_6.png.77634e066790a5975657aac6b864a589.png" alt="2_6.png.77634e066790a5975657aac6b864a589.png" title="2_6.png.77634e066790a5975657aac6b864a589.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/2_6.png.77634e066790a5975657aac6b864a589.png" loading="lazy"></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90541" src="//media.invisioncic.com/i328763/monthly_2018_11/3_3.png.361d1eb9a4986e692c33b2422f15aa07.png" alt="3_3.png.361d1eb9a4986e692c33b2422f15aa07.png" title="3_3.png.361d1eb9a4986e692c33b2422f15aa07.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/3_3.png.361d1eb9a4986e692c33b2422f15aa07.png" loading="lazy"></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90543" src="//media.invisioncic.com/i328763/monthly_2018_11/4_2.png.4b86b8cae94887e10b3dc0bae3594afc.png" alt="4_2.png.4b86b8cae94887e10b3dc0bae3594afc.png" title="4_2.png.4b86b8cae94887e10b3dc0bae3594afc.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/4_2.png.4b86b8cae94887e10b3dc0bae3594afc.png" loading="lazy"></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90545" src="//media.invisioncic.com/i328763/monthly_2018_11/5_2.png.026c1bd520e7056892e27f938f2d0934.png" alt="5_2.png.026c1bd520e7056892e27f938f2d0934.png" title="5_2.png.026c1bd520e7056892e27f938f2d0934.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/5_2.png.026c1bd520e7056892e27f938f2d0934.png" loading="lazy"></p><p><img class="ipsImage ipsImage_thumbnailed ipsRichText__align--block" data-fileid="90547" src="//media.invisioncic.com/i328763/monthly_2018_11/6_1.png.c9ddadade7abb997403320c7ccfc92fc.png" alt="6_1.png.c9ddadade7abb997403320c7ccfc92fc.png" title="6_1.png.c9ddadade7abb997403320c7ccfc92fc.png" data-full-image="//media.invisioncic.com/i328763/monthly_2018_11/6_1.png.c9ddadade7abb997403320c7ccfc92fc.png" loading="lazy"></p><p></p><p>[Note: This article is valid for old JRS version 7.1 and is not repititive issue, this issue was caused by user mistakenly copied 6.3.0 version of JasperReports Server script files in 7.1.0 version. This article is not valid for latest JRS 9.0 or 10.0 vesion]</p>]]></description><guid isPermaLink="false">3191</guid><pubDate>Mon, 12 Nov 2018 17:37:39 +0000</pubDate></item><item><title>Issue Discussion Relating to Create User in the Repository Using JasperReports&#xAE; Server 7.1.0 REST Calls</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/issue-discussion-relating-create-user-repository-using-tibco-jasperreports-server-710-rest/</link><description><![CDATA[<div class="ipsRichText__table-wrapper"><table style="min-width: 40px;"><colgroup><col style="min-width:20px;"><col style="min-width:20px;"></colgroup><tbody><tr><td colspan="1" rowspan="1"><h3>Problem</h3><p>unable to create a user using the rest_v2 users REST service. "It always errors out on redirects, and the user is not created."</p><p>Server access log file reveals the following sequence to conduct JasperReports<sup><span class="ipsEmoji">®</span></sup> Server 7.1.0 REST calls to create a user:</p></td><td colspan="1" rowspan="1"><p>[toc]</p></td></tr></tbody></table></div><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>"GET /jasperserver-pro/rest/login?j_username=joeuser&amp;j_password=joeuser" with 404
"PUT /jasperserver-pro/rest_v2/users/testme" with 401
</code></pre><h3>Cause</h3><p>The redirect was caused by user's account not being validated, therefore the request is redirected to the login page.</p><p>There's a known bug in JasperReports<sup><span class="ipsEmoji">®</span></sup> Server 7.1.0 for REST login request. The user needs to apply the latest JasperReports Server 7.1.0 hotfix patch package to fix this problem. Please refer to this community wiki article for detail:</p><p><a rel="" href="/wiki/rest-v2-login-service">https://community.jaspersoft.com/wiki/rest-v2-login-service</a></p><hr><h3>Resolution</h3><p>User should login to their support portal account and download the latest hotfix package at:</p><blockquote class="ipsQuote" cite="" data-ipsquote=""><header class="ipsQuote_citation">
		Quote
	</header><div class="ipsQuote_contents" data-ipstruncate=""><p><a rel="external nofollow" href="https://support.tibco.com/s/hotfixes?id=a011a00000HJTnIAAX">https://support.tibco.com/s/hotfixes?id=a011a00000HJTnIAAX</a></p></div></blockquote><p>Follow the instructions in readme.txt in the package to carry out the patching process. The user can proceed to test REST call to create a user as the following:</p><ol><li><p>login request using REST_V2</p><p> </p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>GET http://localhost:8080/jasperserver-pro/rest_v2/login?j_username=joesuer&amp;j_password=joeuser

</code></pre><p>user create request</p></li></ol><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>PUT http://localhost:8080/jasperserver-pro/rest_v2/users/testme
</code></pre><p>request body:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>&lt;user&gt;
    &lt;emailAddress&gt;juser@example.com&lt;/emailAddress&gt;
    &lt;enabled&gt;false&lt;/enabled&gt;
    &lt;fullName&gt;Joe User Test&lt;/fullName&gt;
    &lt;password&gt;mySecretPassword&lt;/password&gt;
    &lt;roles&gt;
        &lt;role&gt;
            &lt;name&gt;ROLE_ADMINISTRATOR&lt;/name&gt;
        &lt;/role&gt;
    &lt;/roles&gt;
&lt;/user&gt;
</code></pre><p>body type: application/XML</p><p>Please review the attached "demo.mp4" video for process detail and its result.</p><h3>Alternative Work Around</h3><p>If not being able to apply the hotfix at this time, user can use the following approach to work around this problem:</p><p>Do not run REST login request but run user create request directly with user credential injected through request parameters:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>PUT http://localhost:8080/jasperserver-pro/rest_v2/users/testme7?j_username=joeuser&amp;j_password=joeuser

</code></pre><p>With this approach, user can create a user account in JasperReports Server repository with a "201 Created" response or "200 OK" if this user already exists in the repository.</p><hr><p><strong><em>TTC-20181112-20190319</em></strong></p><p><a class="ipsAttachLink" data-fileid="130606" data-fileext="mp4" data-extension="mp4" href="https://community.jaspersoft.com/applications/core/interface/file/attachment.php?id=130606&amp;key=d9fdb2910fe85c2f7a6b0862d1cd4e9b" rel="">zoom_0.mp4</a></p><p>[Note : This article is only application to JRS 7.1. WIth 7.1 hotfix this issue is not facing.]</p>]]></description><guid isPermaLink="false">3190</guid><pubDate>Mon, 12 Nov 2018 16:03:42 +0000</pubDate></item><item><title>TIBCO JasperReports&#xAE; Server REST API to Set a Single Permission Does Not Work in Release Version 6.3.2</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/tibco-jasperreports-server-rest-api-set-single-permission-does-not-work-release-version-632/</link><description><![CDATA[<p><strong>*This issue no longer exists in the latest version of the JasperReports Server*</strong></p><h2>Problem Statement</h2><p>We had run some tests and determined that there's a defect in TIBCO JasperReports<sup><span class="ipsEmoji">®</span></sup> Server 6.3.2 REST permission service. There's also a documentation defect relating to TIBCO JasperReports Server 6.3 REST permission service on request content format for organization affiliated permission settings.</p><hr><h2>Solution and Results</h2><p>User should upgrade to at least TIBCO JasperReports Server release version 6.3.4, preferably 7.1.0, to fix this problem. The following is what we had tested and confirmed working in TIBCO JasperReports Server 6.3.4 and 7.1.0 using Chrome Poster web test tool:</p><p>Request Method: PUT</p><p>Request URL: <a rel="" href="#">{TIBCO JasperReports Server 6.3.4 host server}:8080/jasperserver-pro/rest_v2/permissions/organizations/jss;recipient=role:%2Fjss%2FJSS_TOP?j_username=superuser&amp;j_password=superuser&amp;X-REMOTE-DOMAIN=1</a></p><p>Request Headers:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>j_username=superuser
j_password=superuser
X-REMOTE-DOMAIN=1
Content-Type=application/json</code></pre><p>Request Content Body:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>{
"uri": null,
"recipient": null,
"mask":"2"
}  
</code></pre><p>Response:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>status: 200 OK
date: Thu, 18 Oct 2018 23:52:33 GMT
cache-control: private
content-type: application/xml
server: Apache-Coyote/1.1
p3p: CP="ALL"
content-length: 183
expires: Wed, 31 Dec 1969 16:00:00 PST</code></pre><p>Response content:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;
&lt;repositoryPermission&gt;
&lt;mask&gt;2&lt;/mask&gt;
&lt;recipient&gt;role:/jss/JSS_TOP&lt;/recipient&gt;
&lt;uri&gt;/organizations/jss&lt;/uri&gt;
&lt;/repositoryPermission&gt; </code></pre><p>Reference: TIBCO JasperReports Server 6.4.0 REST Guide, section "<a rel="" href="/documentation/tibco-jasperreports-server-rest-api-reference/v64/permissions-service#Setting_a_Single_Permission">Setting a Single Permission</a>"</p><hr><p><strong><em>TTC-20181022</em></strong></p>]]></description><guid isPermaLink="false">3149</guid><pubDate>Mon, 22 Oct 2018 22:39:35 +0000</pubDate></item><item><title>Domain Security Resource Access Grant Expressions Cannot Be Well Formatted</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/domain-security-resource-access-grant-expressions-cannot-be-well-formatted/</link><description><![CDATA[<p>When setting security rules for a Domain (refer to<a rel="" href="/documentation/tibco-jasperreports-server-security-guide/v71/creating-domain-security-file"> https://community.jaspersoft.com/documentation/tibco-jasperreports-server-security-guide/v71/creating-domain-security-file</a>), users should not make well formatted expressions for resourceAccessGrant settings in the security file. White space before the actual expression is not trimmed by the Groovy parser used in TIBCO JasperReports<sup><span class="ipsEmoji">®</span></sup> Server . As the result, the security rule is considered as null and users will be able to access domain data without any restriction. </p><p>For example, instead of using the following expressions in the security file:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>&lt;principalExpression&gt;
    attributesService.getAttribute('testAttribute', null, true) != null
&lt;/principalExpression&gt;
&lt;filterExpression&gt;
    testProfileAttribute(table.column, 'testAttribute')
&lt;/filterExpression&gt;</code></pre><p>user should use:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>&lt;principalExpression&gt;attributesService.getAttribute('testAttribute', null, true) != null&lt;/principalExpression&gt;
&lt;filterExpression&gt;testProfileAttribute(table.column, 'testAttribute')&lt;/filterExpression&gt;  </code></pre><p>This rule applies to both profile attribute based security settings as well as role based security settings.</p><hr><p><strong><em>TTC-20180814</em></strong></p>]]></description><guid isPermaLink="false">3071</guid><pubDate>Tue, 14 Aug 2018 23:15:53 +0000</pubDate></item><item><title>Height of colum header does not match row height</title><link>https://community.jaspersoft.com/knowledgebase/troubleshooting/height-colum-header-does-not-match-row-height/</link><description><![CDATA[<h2>Problem:</h2><p>I created a report with table element. In that table one of the headers is split into two rows. When compiling the report the error occurs:</p><pre spellcheck="" class="ipsCode language-plaintext" data-language="Plain Text"><code>Height of colum header does not match row height
</code></pre><p></p><h2>Solution:</h2><p>Select the Cell that is split into two rows, select the cell for the upper row cell, go to cell properties and set Row Span to 2.<br><br>Note: This is specific use case and generic solution that you can try to resolve the issue</p>]]></description><guid isPermaLink="false">2597</guid><pubDate>Sat, 29 Apr 2017 00:26:28 +0000</pubDate></item></channel></rss>
