Hello everybody,
I am currently trying to integrate the BIRT ReportEngine to an existing Java Webapplication. Everything worked fine in an older version of the webapp, that used the same version of the libraries that were used within BIRT. My problem is that I need to migrate to a new version. Now, when I try to create a report with BIRT my application throws a LinkageError:
[appserver0] java.lang.LinkageError: loader constraints violated when linking org/w3c/dom/TypeInfo class
[appserver0] at org.apache.xerces.dom.CoreDocumentImpl.createElement(Unknown Source)
[appserver0] at org.eclipse.birt.report.engine.parser.HTMLTextParser.parseHTML(HTMLTextParser.java:141)
[appserver0] at org.eclipse.birt.report.engine.parser.TextParser.parse(TextParser.java:111)
[appserver0] at org.eclipse.birt.report.engine.layout.pdf.util.HTML2Content.processForeignData(HTML2Content.java:437)
[appserver0] at org.eclipse.birt.report.engine.layout.pdf.util.HTML2Content.html2Content(HTML2Content.java:418)
[appserver0] at org.eclipse.birt.report.engine.nLayout.LayoutEngine.startForeign(LayoutEngine.java:627)
[appserver0] at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:77)
[appserver0] at org.eclipse.birt.report.engine.nLayout.LayoutEngine.visitContent(LayoutEngine.java:592)
[appserver0] at org.eclipse.birt.report.engine.nLayout.LayoutEngine.visitChildren(LayoutEngine.java:616)
[appserver0] at org.eclipse.birt.report.engine.nLayout.RegionLayoutEngine.layout(RegionLayoutEngine.java:31)
[appserver0] at org.eclipse.birt.report.engine.nLayout.area.impl.PageArea.layoutFooter(PageArea.java:481)
[appserver0] at org.eclipse.birt.report.engine.nLayout.area.impl.PageArea.initialize(PageArea.java:249)
[appserver0] at org.eclipse.birt.report.engine.nLayout.area.impl.RootArea.createNewPage(RootArea.java:91)
[appserver0] at org.eclipse.birt.report.engine.nLayout.area.impl.RootArea.initialize(RootArea.java:82)
[appserver0] at org.eclipse.birt.report.engine.nLayout.LayoutEngine.setContainer(LayoutEngine.java:340)
[appserver0] at org.eclipse.birt.report.engine.nLayout.LayoutEngine._startContainer(LayoutEngine.java:380)
[appserver0] at org.eclipse.birt.report.engine.nLayout.LayoutEngine.startContainer(LayoutEngine.java:334)
[appserver0] at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startPage(ContentEmitterAdapter.java:65)
[appserver0] at org.eclipse.birt.report.engine.nLayout.LayoutEngine.startPage(LayoutEngine.java:502)
[appserver0] at org.eclipse.birt.report.engine.emitter.CompositeContentEmitter.startPage(CompositeContentEmitter.java
:290)
[appserver0] at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:47)
[appserver0] at org.eclipse.birt.report.engine.layout.html.buffer.PageNode.start(PageNode.java:49)
[appserver0] at org.eclipse.birt.report.engine.layout.html.buffer.HTMLPageBuffer.startContent(HTMLPageBuffer.java:113
)
[appserver0] at org.eclipse.birt.report.engine.layout.html.buffer.TableBreakBuffer.startContent(TableBreakBuffer.java
:286)
[appserver0] at org.eclipse.birt.report.engine.layout.html.HTMLLeafItemLM.start(HTMLLeafItemLM.java:67)
[appserver0] at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:136)
[appserver0] at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:7
0)
[appserver0] at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)
[appserver0] at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:
99)
[appserver0] at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:170)
[appserver0] at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:75)
... (more)
As you can see the problem can be isolated to XML processing. My Web Application uses Axis2 and all libraries necessary, e.g. Xerces 2.8.1. However, I think the problem is, that there are 2 versions of the TypeInfo (and several other classes) in my classloading hierarchy, 1 from the webapp the other from the ReportEngine.
Does anybody have an idea how to fix this problem? I already played around a little with classloading but that did not lead to a solution

Edit: My BIRT Report Runtime Version is 2.5.1
Help is highly appreciated.
Regards
Ronny