Page 1 of 1

Docx4j for Eclipse RCP error

PostPosted: Thu Nov 24, 2011 7:33 pm
by bhavik
Hi,

I am developing in Eclipse RCP and using Docx4j to generate docx files by using the template substitution method. I have encountered the following errors...

Code: Select all
log4j:WARN No appenders could be found for logger (org.docx4j.utils.ResourceUtils).
log4j:WARN Please initialize the log4j system properly.
5 [main] INFO org.docx4j.utils.Log4jConfigurator  - Since your log4j configuration (if any) was not found, docx4j has configured log4j automatically.
66 [main] ERROR org.docx4j.XmlUtils  - java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory
javax.xml.transform.TransformerException: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory
   at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:952)
   at org.docx4j.XmlUtils.getTransformerTemplate(XmlUtils.java:733)
   at org.docx4j.convert.out.pdf.viaXSLFO.Conversion.<clinit>(Conversion.java:103)
   at org.docx4j.utils.Log4jConfigurator.configure(Log4jConfigurator.java:30)
   at org.docx4j.jaxb.Context.<clinit>(Context.java:49)
   at com.dvtrs.main.report.reportwriter.<init>(reportwriter.java:38)
   at com.dvtrs.main.ReportTableDlg$1.handleEvent(ReportTableDlg.java:275)
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
   at com.dvtrs.main.ReportTableDlg.open(ReportTableDlg.java:362)
   at com.dvtrs.main.TableView.generateReport(TableView.java:771)
   at com.dvtrs.main.TableView.access$3(TableView.java:722)
   at com.dvtrs.main.TableView$2$3.handleEvent(TableView.java:249)
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
   at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at com.dvtrs.main.MainApplication.start(MainApplication.java:39)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory
   at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
   at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:885)
   ... 39 more
javax.xml.transform.TransformerConfigurationException: javax.xml.transform.TransformerException: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory
   at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:961)
   at org.docx4j.XmlUtils.getTransformerTemplate(XmlUtils.java:733)
   at org.docx4j.convert.out.pdf.viaXSLFO.Conversion.<clinit>(Conversion.java:103)
   at org.docx4j.utils.Log4jConfigurator.configure(Log4jConfigurator.java:30)
   at org.docx4j.jaxb.Context.<clinit>(Context.java:49)
   at com.dvtrs.main.report.reportwriter.<init>(reportwriter.java:38)
   at com.dvtrs.main.ReportTableDlg$1.handleEvent(ReportTableDlg.java:275)
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
   at com.dvtrs.main.ReportTableDlg.open(ReportTableDlg.java:362)
   at com.dvtrs.main.TableView.generateReport(TableView.java:771)
   at com.dvtrs.main.TableView.access$3(TableView.java:722)
   at com.dvtrs.main.TableView$2$3.handleEvent(TableView.java:249)
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
   at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at com.dvtrs.main.MainApplication.start(MainApplication.java:39)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: javax.xml.transform.TransformerException: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory
   at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:952)
   ... 39 more
Caused by: java.lang.ClassCastException: com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl cannot be cast to javax.xml.parsers.SAXParserFactory
   at javax.xml.parsers.SAXParserFactory.newInstance(Unknown Source)
   at org.apache.xalan.processor.TransformerFactoryImpl.newTemplates(TransformerFactoryImpl.java:885)
   ... 39 more
67 [main] INFO org.docx4j.jaxb.Context  - JAXB: RI not present.  Trying Java 6 implementation.
67 [main] INFO org.docx4j.jaxb.Context  - JAXB: Using Java 6 implementation.
67 [main] INFO org.docx4j.jaxb.Context  - loading Context jc
892 [main] ERROR org.docx4j.jaxb.Context  - Cannot initialize context
com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException: 3 counts of IllegalAnnotationExceptions
@XmlAttribute/@XmlValue need to reference a Java type that maps to text in XML.
   this problem is related to the following location:
      at protected javax.xml.datatype.XMLGregorianCalendar org.docx4j.wml.CTTrackChange.date
      at org.docx4j.wml.CTTrackChange
      at org.docx4j.wml.CTRPrChange
      at protected org.docx4j.wml.CTRPrChange org.docx4j.wml.RPr.rPrChange
      at org.docx4j.wml.RPr
      at protected org.docx4j.wml.RPr org.docx4j.wml.R.rPr
      at org.docx4j.wml.R
      at protected java.util.List org.docx4j.wml.RunDel.customXmlOrSmartTagOrSdt
      at org.docx4j.wml.RunDel
      at protected java.util.List org.docx4j.wml.RunIns.customXmlOrSmartTagOrSdt
      at org.docx4j.wml.RunIns
      at protected java.util.List org.docx4j.wml.Body.egBlockLevelElts
      at org.docx4j.wml.Body
      at public org.docx4j.wml.Body org.docx4j.wml.ObjectFactory.createBody()
      at org.docx4j.wml.ObjectFactory
@XmlAttribute/@XmlValue need to reference a Java type that maps to text in XML.
   this problem is related to the following location:
      at protected javax.xml.datatype.XMLGregorianCalendar org.docx4j.wml.CTSdtDate.fullDate
      at org.docx4j.wml.CTSdtDate
      at public org.docx4j.wml.CTSdtDate org.docx4j.wml.ObjectFactory.createCTSdtDate()
      at org.docx4j.wml.ObjectFactory
@XmlAttribute/@XmlValue need to reference a Java type that maps to text in XML.
   this problem is related to the following location:
      at protected javax.xml.datatype.XMLGregorianCalendar org.docx4j.wml.CTMoveBookmark.date
      at org.docx4j.wml.CTMoveBookmark
      at public org.docx4j.wml.CTMoveBookmark org.docx4j.wml.ObjectFactory.createCTMoveBookmark()
      at org.docx4j.wml.ObjectFactory

   at com.sun.xml.internal.bind.v2.runtime.IllegalAnnotationsException$Builder.check(Unknown Source)
   at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(Unknown Source)
   at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(Unknown Source)
   at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(Unknown Source)
   at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source)
   at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source)
   at com.sun.xml.internal.bind.v2.ContextFactory.createContext(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at javax.xml.bind.ContextFinder.newInstance(Unknown Source)
   at javax.xml.bind.ContextFinder.find(Unknown Source)
   at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
   at javax.xml.bind.JAXBContext.newInstance(Unknown Source)
   at org.docx4j.jaxb.Context.<clinit>(Context.java:76)
   at com.dvtrs.main.report.reportwriter.<init>(reportwriter.java:38)
   at com.dvtrs.main.ReportTableDlg$1.handleEvent(ReportTableDlg.java:275)
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
   at com.dvtrs.main.ReportTableDlg.open(ReportTableDlg.java:362)
   at com.dvtrs.main.TableView.generateReport(TableView.java:771)
   at com.dvtrs.main.TableView.access$3(TableView.java:722)
   at com.dvtrs.main.TableView$2$3.handleEvent(TableView.java:249)
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
   at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at com.dvtrs.main.MainApplication.start(MainApplication.java:39)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
907 [main] ERROR org.docx4j.openpackaging.contenttype.ContentTypeManager  - java.lang.NullPointerException
org.docx4j.openpackaging.exceptions.InvalidFormatException: Bad [Content_Types].xml
   at org.docx4j.openpackaging.contenttype.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:676)
   at org.docx4j.openpackaging.io.LoadFromZipNG.process(LoadFromZipNG.java:206)
   at org.docx4j.openpackaging.io.LoadFromZipNG.get(LoadFromZipNG.java:193)
   at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:225)
   at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:177)
   at org.docx4j.openpackaging.packages.WordprocessingMLPackage.load(WordprocessingMLPackage.java:172)
   at com.dvtrs.main.report.reportwriter.generateReport(reportwriter.java:83)
   at com.dvtrs.main.ReportTableDlg$1.handleEvent(ReportTableDlg.java:276)
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
   at com.dvtrs.main.ReportTableDlg.open(ReportTableDlg.java:362)
   at com.dvtrs.main.TableView.generateReport(TableView.java:771)
   at com.dvtrs.main.TableView.access$3(TableView.java:722)
   at com.dvtrs.main.TableView$2$3.handleEvent(TableView.java:249)
   at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
   at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
   at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4165)
   at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3754)
   at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:2696)
   at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:2660)
   at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:2494)
   at org.eclipse.ui.internal.Workbench$7.run(Workbench.java:674)
   at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
   at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:667)
   at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:149)
   at com.dvtrs.main.MainApplication.start(MainApplication.java:39)
   at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
   at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:344)
   at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:179)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:622)
   at org.eclipse.equinox.launcher.Main.basicRun(Main.java:577)
   at org.eclipse.equinox.launcher.Main.run(Main.java:1410)
   at org.eclipse.equinox.launcher.Main.main(Main.java:1386)
Caused by: java.lang.NullPointerException
   at org.docx4j.openpackaging.contenttype.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:643)
   ... 40 more



When I execute similar thing using normal Java it works but when using RCP, it doesn't. Do guide me how to resolve this errors.

Java : Version 6 update 29 - 32 bit
IDE : Eclipse Indigo for RCP

Thanks. :)

Re: Docx4j for Eclipse RCP error [SOLVED]

PostPosted: Sat Nov 26, 2011 9:24 am
by bhavik
Hi everyone,

I have managed to solve the problem. I just removed the jar bundled together (xml-apis-1.3.04) from the dependencies and the first error is no more.
Regarding the next few errors, it was because my wrong path (link to the template file). My mistake... :)

Thanks.