Page 1 of 1

Null Pointer Exception when using WordprocessingMLPackage

PostPosted: Fri Sep 14, 2012 11:05 pm
by rtp
hi
I am new to docx4j, as you can see this is my first post :)
i have a java code where like below

Code: Select all
wordMLPackage = org.docx4j.openpackaging.packages.WordprocessingMLPackage.load(inputFile);


i am experiencing a NULL POINTER EXCEPTION here.
i am sure about input file path.

exception is like this:

Code: Select all
JAXB: RI not present.  Trying Java 6 implementation.
JAXB: Using Java 6 implementation.
log4j:WARN No appenders could be found for logger (org.docx4j.jaxb.Context).
log4j:WARN Please initialize the log4j system properly.
java.lang.NullPointerException
        at org.docx4j.wml.Id.hashCode(Id.java:129)
        at java.util.HashMap.put(HashMap.java:372)
        at com.sun.xml.internal.bind.v2.runtime.AssociationMap.addInner(AssociationMap.java:78)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.recordInnerPeer(UnmarshallingContext.java:988)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader.startElement(StructureLoader.java:147)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContext.java:369)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext.java:347)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.java:35)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:101)
        at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:224)


jars i'm using :
docx4j-2.6.0.jar
log4j-1.2.13.jar

java 1.6
IDE: eclipse

null pointer exception, while using WordprocessingMLPackage

PostPosted: Fri Sep 14, 2012 11:43 pm
by rtp
hi guys,
i am a rookey in docx4j,
i am trying to create a sample application using docx4j
some code part is like this
Code: Select all
org.docx4j.openpackaging.packages.WordprocessingMLPackage.load(inputFile);


i am experiencing a null pointer exception here, i'm sure about input file path.
i believe exception is with WordprocessingMLPackage.

exception is like below

JAXB: RI not present. Trying Java 6 implementation.
JAXB: Using Java 6 implementation.
log4j:WARN No appenders could be found for logger (org.docx4j.jaxb.Context).
log4j:WARN Please initialize the log4j system properly.
java.lang.NullPointerException
at org.docx4j.wml.Id.hashCode(Id.java:129)
at java.util.HashMap.put(HashMap.java:372)
at com.sun.xml.internal.bind.v2.runtime.AssociationMap.addInner(AssociationMap.java:78)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.recordInnerPeer(UnmarshallingCont
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.StructureLoader.startElement(StructureLoader.java:147)
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext._startElement(UnmarshallingContex
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallingContext.startElement(UnmarshallingContext
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.InterningXmlVisitor.startElement(InterningXmlVisitor.j
at com.sun.xml.internal.bind.v2.runtime.unmarshaller.SAXConnector.startElement(SAXConnector.java:101)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:224)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:261)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:230)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:261)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:230)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:261)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:230)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:261)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:230)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:261)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:230)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:107)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:90)
at com.sun.xml.internal.bind.unmarshaller.DOMScanner.scan(DOMScanner.java:83)
at com.sun.xml.internal.bind.v2.runtime.BinderImpl.associativeUnmarshal(BinderImpl.java:139)
at com.sun.xml.internal.bind.v2.runtime.BinderImpl.unmarshal(BinderImpl.java:111)
at org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart.unmarshal(MainDocumentPart.java:262)
at org.docx4j.openpackaging.parts.WordprocessingML.MainDocumentPart.unmarshal(MainDocumentPart.java:76)
at org.docx4j.openpackaging.io.LoadFromZipNG.getRawPart(LoadFromZipNG.java:546)
at org.docx4j.openpackaging.io.LoadFromZipNG.getPart(LoadFromZipNG.java:422)
at org.docx4j.openpackaging.io.LoadFromZipNG.addPartsFromRelationships(LoadFromZipNG.java:351)
at org.docx4j.openpackaging.io.LoadFromZipNG.process(LoadFromZipNG.java:236)
at org.docx4j.openpackaging.io.LoadFromZipNG.get(LoadFromZipNG.java:189)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:188)
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.load(WordprocessingMLPackage.java:169)
at com.temenos.sizing.docWithXml.<init>(docWithXml.java:89)
at com.temenos.sizing.GetDocument.jButton1ActionPerformed(GetDocument.java:856)
at com.temenos.sizing.GetDocument.access$000(GetDocument.java:27)
at com.temenos.sizing.GetDocument$1.actionPerformed(GetDocument.java:291)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6038)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3260)
at java.awt.Component.processEvent(Component.java:5803)
at java.awt.Container.processEvent(Container.java:2058)
at java.awt.Component.dispatchEventImpl(Component.java:4410)
at java.awt.Container.dispatchEventImpl(Container.java:2116)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
at java.awt.Container.dispatchEventImpl(Container.java:2102)
at java.awt.Window.dispatchEventImpl(Window.java:2429)
at java.awt.Component.dispatchEvent(Component.java:4240)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)


using java6
IDE eclipse-indigo
jars:docx4j-2.6.0.jar,log4j-1.2.13.jar,jaxb-api-2.1.jar

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Sat Sep 15, 2012 8:26 am
by jason
You are 99% likely using an old/problematic JAXB implementation. See for example docx-java-f6/nullpointerexception-trying-to-open-doc-with-toc-t1195.html

If you are using the JAXB in your Java6, which Java 6 is it exactly?

Side note: I see you say docx4j-2.6.0. The current release is 2.8.0. Any reason you are using such an old version?

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Mon Sep 17, 2012 10:14 pm
by rtp
i'm using java 1.6 - 32 bit
there is no improvement what ever may be the version of docx4j.

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Tue Sep 18, 2012 8:35 am
by jason
I say again, you are 99% likely using an old/problematic JAXB implementation.

You didn't tell me which Java 1.6 you are using. Is it Sun/Oracle's, IBM's, or something else?

Is the JAXB implementation provided by Java (it is if it is Sun/Oracle's, and you don't have JAXB in an endorsed dir)

If it is Sun/Oracle's, move to a newer release, or download the JAXB reference implementation, and put it in an endorsed dir.

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Tue Sep 18, 2012 10:49 pm
by rtp
i am using Oracle jdk1.6
and i have the JAXB of Oracle.

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Tue Sep 18, 2012 11:47 pm
by jason
What does your computer say when you type:

java -version

I suggest you try Java SE 6 Update 35, from http://www.oracle.com/technetwork/java/ ... index.html
or Java SE 7u7

Unless you are using some dodgy point release, there may be something else going on, because the JAXB in the various point releases of Sun/Oracle Java 6 has tended to work fine in docx4j over the last 4 or 5 years.

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Thu Sep 20, 2012 3:21 pm
by rtp
java version "1.6.0"
Java(TM) SE Runtime Environment (build 1.6.0-b105)
Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Mon Sep 24, 2012 2:49 pm
by jason
According to http://jaxb.java.net/guide/Which_JAXB_R ... _JDK_.html

JDK6 first release - No JAXB
JDK6 u3 includes JAXB RI 2.0.3
JDK6 u4 includes JAXB RI 2.1.3
JDK6 u14 includes JAXB RI 2.1.10
JDK7 first release includes JAXB RI 2.2.4-1


Please type:

xjc -version

to tell us which version you have.

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Mon Sep 24, 2012 4:00 pm
by rtp
xjc version "JAXB 2.0 in JDK 1.6"
JavaTM Architecture for XML Binding(JAXB) Reference Implementation, (build JAXB 2.0 in JDK 1.6)

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Mon Sep 24, 2012 10:22 pm
by jason
JAXB 2.0 is really really old. (2.0.1 was released June 7, 2006!!)

As I suggested earlier in the thread, use a newer JAXB. You can get that 2 ways:

(1) keep your existing old Java 1.6, and put a newer JAXB reference implementation in an endorsed dir (eg the latest is 2.2.6, but 2.2.4 should be ok, and even 2.1.10 would be an improvement). See http://jaxb.java.net/2.2.6/

(2) or you can update your Java 6 installation, or move to Java 7.

I can't make it any clearer than this.

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Tue Sep 25, 2012 10:25 pm
by rtp
thank you for the info that you had provided.

java version "1.6.0_22"
Java(TM) SE Runtime Environment (build 1.6.0_22-b04)
Java HotSpot(TM) Client VM (build 17.1-b03, mixed mode, sharing)


with
JAXB2.0
is working fine.


but

java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b05)
Java HotSpot(TM) Client VM (build 22.1-b02, mixed mode, sharing)

with
xjc 2.2.4

is throwing following exception

ERROR org.docx4j.jaxb.Context .<clinit> line 102 - Cannot initialize context
javax.xml.bind.JAXBException: Provider com.sun.xml.bind.v2.ContextFactory could not be instantiated: javax.xml.bind.JAXBExcep
mldsig" doesnt contain ObjectFactory.class or jaxb.index
- with linked exception:
[javax.xml.bind.JAXBException: "org.plutext.jaxb.xmldsig" doesnt contain ObjectFactory.class or jaxb.index]
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:97)
at org.docx4j.openpackaging.contenttype.ContentTypeManager.parseContentTypesFile(ContentTypeManager.java:658)
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:301)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:245)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:195)
at org.docx4j.openpackaging.packages.OpcPackage.load(OpcPackage.java:178)
at org.docx4j.openpackaging.packages.WordprocessingMLPackage.load(WordprocessingMLPackage.java:172)
at com.temenos.sizing.docWithXml.<init>(docWithXml.java:90)
at com.temenos.sizing.GetDocument.jButton1ActionPerformed(GetDocument.java:856)
at com.temenos.sizing.GetDocument.access$000(GetDocument.java:27)
at com.temenos.sizing.GetDocument$1.actionPerformed(GetDocument.java:291)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$000(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Caused by: javax.xml.bind.JAXBException: "org.plutext.jaxb.xmldsig" doesnt contain ObjectFactory.class or jaxb.index
at com.sun.xml.bind.v2.ContextFactory.createContext(ContextFactory.java:183)
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)
... 53 more


what could be the possible reason for this.

Re: Null Pointer Exception when using WordprocessingMLPacka

PostPosted: Wed Sep 26, 2012 8:23 am
by jason