Hi everybody,
I have recently installed ireport 4.6.0 and imported reports built with previous version. I modified it and when i published the updated report to my jasperserver, it crashed with the following error.
com.jaspersoft.jasperserver.api.JSExceptionWrapper: org.xml.sax.SAXParseException: cvc-complex-type.3.2.2: Attribute 'uuid' is not allowed to appear in element 'jasperReport'.
I opened the xml file generated by the 4.6.0 and i noticed an uuid porpertie on each element, whereas this porpertie wasn't there in the xml generated with ireport 4.1.3
I looked for an option to disable insertion of uuid propertie in my reports but i haven't find one.
Is there a way to get rid of the uuid propertie ?
Thanx for your help
17 Answers:
Hi arthur,
I gave a try to your worakaround but unfortunately it didn't work. I tried with 4.5.0 and 4.0.1 compatibility but uuid are still generated as shown in the code above.
<?xml version="1.0" encoding="UTF-8"?>
<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="report3" language="groovy" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2be51b2c-016e-4887-9bf7-3ce9f77929e3">
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="79" splitType="Stretch"/>
</title>
<pageHeader>
<band height="35" splitType="Stretch">
<textField>
<reportElement uuid="9464be3b-a5cc-4d8f-95ce-a06f48656bcc" x="74" y="15" width="100" height="20"/>
<textElement/>
<textFieldExpression><![CDATA[$F{field}]]></textFieldExpression>
</textField>
</band>
</pageHeader>
I keep ireport 4.5.1, wihch doesn't generate uuid.
Thanx for your help.
I tried the same thing using iReport 4.6.0: set compatibility to 4.0.1 (options are that or 4.5), opened a report that works on JasperReports 4.1.1, added a few characters to a text field, saved and diffed the file with a copy of the original. Not only did it add the UUID business, it also made many other changes throughout the report, removing classes, changing tags, etc.
I reverted to iReport 4.5.1, set compatibility to latest. Then upon save no UUID was added and the report ran fine on 4.1.1.
-Sam
I think that it is not a new feature but a bug. Compatibility mode doesn't work for me.
I opened an issue on the tracker.
Post Edited by helyair at 06/12/2012 09:31
All,
FYI, the regular expression I used in numerous affected reports was uuid="[^"]*", which worked just fine. I used Textpad, hit F8 and did a global replace.
To be clear, iReport 4.6.0 was intended for use with JR Server 4.7.0... But unfortunately, iR 4.6 was released earlier (JR Server 4.7.0 community edition is now available, however).... This caused some confusion for users who began using iR 4.6 with JR Server 4.5... As someone else mentioned, compatibility mode in iR 4.6 does not suppress the UUID attribute, and that should be considered a bug... But the workaround of removing the uuid in the XML (like I did using regular expressions), THEN switching to iReport 4.5 (to match the version of JR Server) should also work.
I guess we need to update jasper reports library that is used in project
Add following dependancy in pom.xml if you are using maven, otherwise get latest jar (4.7.0)
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
<version>4.7.0</version>
</dependency>
The designer obviously comes with latest library hence report gets compiled without error in desinger, but when we use this report in our project which is using old library (jar with version 4.5 or older) it throws error
I hope this helps.
Hello,
We faced this issue *only* in Windows after an installation + settings import. As I explained in http://thinkinginsoftware.blogspot.com/2012/10/ireport-attribute-uuid-is... you can go around the issue if you ignore importing settings (or if you work from OSX or Linux you should not see the issue at least in our case going from 4.1.3 to 4.7.1.
I hope it helps somebody out there.
Cheers,
-Nestor
Hi everyone.
Had just recently downloaded 5.5.0 of iReport (used 4.5.1 before) and ran into the same issue - the uuid was automatically generated but later when i was opening this jrxml - the iReport was complaining with the parser error.
All I had to do is to wipe all the old versions of iReport presented in my system (i use ubuntu, so had to drop all the old version which were somehow identified by the new 5.5.0).
Suspect that fixing the CLASSPATH in Tools -> iReport -> Classpath by moving the 5.5.0 libraries up in the tree or by removing the old ones completely would help too.
Now, openning the new reports with uuid already in there doesn't cause any issues.
Also, setting the Compatibility to 4.5.0 the iReport doesn't generate this uuid anymore.
Hope this helps.
Regards.
Jaspersoft needs to update the XSD that you pubosh to the web http://jasperreports.sourceforge.net/xsd/jasperreport.xsd
In fact, if you did that, it would solve my problem which is that when I load a .jrxml file with an editor that does validation, I get validation errors because of the uuids.
I'd appreciate some sort of notification when this is done.