Page 1 of 1

docx4j giving NullPointerExceptions

PostPosted: Wed Dec 10, 2014 4:17 am
by stangsman
Seeing docx4j classes being lost on the server and that is translating into NullPoiterExceptions.

Using docx4j 3.1.0

For example:

java.lang.NullPointerException
at xxx.docx4j.DocXFormGenerator.xml(DocXFormGenerator.java:419)
at xxx.docx4j.DocXFormGenerator.populateForm(DocXFormGenerator.j
ava:199)
at xxx.docx4j.DocXFormGenerator.doGeneration(DocXFormGenerator.j
ava:117)
at xxx.service.ServiceREST.generateDocument(ServiceREST.java:378
)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invoc
ation.invoke(ReflectionInvocationContext.java:192)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proce
ed(ReflectionInvocationContext.java:173)
at org.apache.openejb.monitoring.StatsInterceptor.record(StatsIntercepto
r.java:181)
at org.apache.openejb.monitoring.StatsInterceptor.invoke(StatsInterceptor.java:100)
at sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext$Invocation.invoke(Reflecti
onInvocationContext.java:192)
at org.apache.openejb.core.interceptor.ReflectionInvocationContext.proceed(ReflectionInvocati
onContext.java:173)
at org.apache.openejb.core.interceptor.InterceptorStack.invoke(InterceptorStack.java:85)
at org.apache.openejb.core.stateless.StatelessContainer._invoke(StatelessContainer.java:227)
at org.apache.openejb.core.stateless.StatelessContainer.invoke(StatelessContainer.java:194)
at org.apache.openejb.util.proxy.ProxyEJB$Handler.invoke(ProxyEJB.java:74)
at xxx.service.ServiceREST$$LocalBeanProxy.generateDocument(xxx/service/Servi
ceREST.java)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.openejb.server.cxf.rs.OpenEJBEJBInvoker.performInvocation(OpenEJBEJBInvoker.jav
a:89)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:96)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:165)
at org.apache.openejb.server.cxf.rs.OpenEJBEJBInvoker.invoke(OpenEJBEJBInvoker.java:62)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:89)
at org.apache.openejb.server.cxf.rs.AutoJAXRSInvoker.invoke(AutoJAXRSInvoker.java:64)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:
57)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerIntercept

As always, any help is appreciated.

Re: docx4j giving NullPointerExceptions

PostPosted: Wed Dec 10, 2014 7:07 am
by jason
xxx.docx4j.DocXFormGenerator is not part of docx4j; you'll need to look at that code to see what objects it is expecting.

It may just be that it is assuming some P or R has rPr, when it doesn't.

Re: docx4j giving NullPointerExceptions

PostPosted: Fri Dec 12, 2014 3:31 am
by stangsman
Thanks Jason,

It turned out to be a memory leak of some sort We decided to put the .jars for docx4j on the server instead of loading them for every instance that we called docx4j. That fixed the nullpointer error.