PropertyException when using docx4j in wildfly 23
Posted: Wed Aug 18, 2021 11:34 pm
Hi,
we are currently running in problems when using docx4j 8.3.1 in a webapp on wildfly 23.0.1 with Oracle JDK 1.8.0_231_b32.
We are getting a PropertyException when docx4j tries to set the NamespacePrefixMapper on the Marshaller instance.
Statcktrace is:
The docx4j dependencies we use in the project are:
docx4j-JAXB-ReferenceImpl-8.3.1.jar
FastInfoset-1.2.16.jar
istack-commons-runtime-3.0.8.jar
jakarta.activation-api-1.2.1.jar
jakarta.xml.bind-api-2.3.2.jar
jaxb-runtime-2.3.2.jar
stax-ex-1.8.1.jar
txw2-2.3.2.jar
docx4j-core-8.3.1.jar
docx4j-openxml-objects-8.3.1.jar
docx4j-openxml-objects-pml-8.3.1.jar
docx4j-openxml-objects-sml-8.3.1.jar
antlr-2.7.7.jar
antlr-runtime-3.5.2.jar
checker-qual-2.8.1.jar
commons-codec-1.12.jar
commons-compress-1.20.jar
commons-io-2.6.jar
commons-lang3-3.9.jar
error_prone_annotations-2.3.3.jar
fontbox-2.0.19.jar
fop-events-2.5.jar
fop-util-2.5.jar
jaxb-svg11-1.0.2.jar
jcl-over-slf4j-1.7.26.jar
mbassador-1.3.2.jar
qdox-1.12.jar
slf4j-api-1.7.26.jar
stringtemplate-3.2.1.jar
wmf2svg-0.9.8.jar
xalan-interpretive-8.0.0.jar
xalan-metainf-8.0.0.jar
xalan-serializer-8.0.0.jar
xmlgraphics-commons-2.3.jar
I read the comment in NamespacePrefixMapperUtils.java which says that an upgrade of ServiceMix should solve the problem but we are on wildfly.
Any help is appreciated!
we are currently running in problems when using docx4j 8.3.1 in a webapp on wildfly 23.0.1 with Oracle JDK 1.8.0_231_b32.
We are getting a PropertyException when docx4j tries to set the NamespacePrefixMapper on the Marshaller instance.
Statcktrace is:
- Code: Select all
org.docx4j.jaxb.ri.NamespacePrefixMapper
at javax.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:725)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:451)
at io.undertow.servlet.handlers.ServletHandler.handleRequest(ServletHandler.java:74)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:129)
at io.opentracing.contrib.jaxrs2.server.SpanFinishingFilter.doFilter(SpanFinishingFilter.java:52)
at io.undertow.servlet.core.ManagedFilter.doFilter(ManagedFilter.java:61)
at io.undertow.servlet.handlers.FilterHandler$FilterChainImpl.doFilter(FilterHandler.java:131)
at io.undertow.servlet.handlers.FilterHandler.handleRequest(FilterHandler.java:84)
at io.undertow.servlet.handlers.security.ServletSecurityRoleHandler.handleRequest(ServletSecurityRoleHandler.java:62)
at io.undertow.servlet.handlers.ServletChain$1.handleRequest(ServletChain.java:68)
at io.undertow.servlet.handlers.ServletDispatchingHandler.handleRequest(ServletDispatchingHandler.java:36)
at org.wildfly.extension.undertow.security.SecurityContextAssociationHandler.handleRequest(SecurityContextAssociationHandler.java:78)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.RedirectDirHandler.handleRequest(RedirectDirHandler.java:68)
at io.undertow.servlet.handlers.security.SSLInformationAssociationHandler.handleRequest(SSLInformationAssociationHandler.java:117)
at io.undertow.servlet.handlers.security.ServletAuthenticationCallHandler.handleRequest(ServletAuthenticationCallHandler.java:57)
at io.undertow.server.handlers.DisableCacheHandler.handleRequest(DisableCacheHandler.java:33)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.security.handlers.AuthenticationConstraintHandler.handleRequest(AuthenticationConstraintHandler.java:53)
at io.undertow.security.handlers.AbstractConfidentialityHandler.handleRequest(AbstractConfidentialityHandler.java:46)
at io.undertow.servlet.handlers.security.ServletConfidentialityConstraintHandler.handleRequest(ServletConfidentialityConstraintHandler.java:64)
at io.undertow.servlet.handlers.security.ServletSecurityConstraintHandler.handleRequest(ServletSecurityConstraintHandler.java:59)
at io.undertow.security.handlers.AuthenticationMechanismsHandler.handleRequest(AuthenticationMechanismsHandler.java:60)
at io.undertow.servlet.handlers.security.CachedAuthenticatedSessionHandler.handleRequest(CachedAuthenticatedSessionHandler.java:77)
at io.undertow.security.handlers.NotificationReceiverHandler.handleRequest(NotificationReceiverHandler.java:50)
at io.undertow.security.handlers.AbstractSecurityContextAssociationHandler.handleRequest(AbstractSecurityContextAssociationHandler.java:43)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.security.jacc.JACCContextIdHandler.handleRequest(JACCContextIdHandler.java:61)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at org.wildfly.extension.undertow.deployment.GlobalRequestControllerHandler.handleRequest(GlobalRequestControllerHandler.java:68)
at io.undertow.servlet.handlers.SendErrorPageHandler.handleRequest(SendErrorPageHandler.java:52)
at io.undertow.server.handlers.PredicateHandler.handleRequest(PredicateHandler.java:43)
at io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:269)
at io.undertow.servlet.handlers.ServletInitialHandler.access$100(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:133)
at io.undertow.servlet.handlers.ServletInitialHandler$2.call(ServletInitialHandler.java:130)
at io.undertow.servlet.core.ServletRequestContextThreadSetupAction$1.call(ServletRequestContextThreadSetupAction.java:48)
at io.undertow.servlet.core.ContextClassLoaderSetupAction$1.call(ContextClassLoaderSetupAction.java:43)
at org.wildfly.extension.undertow.security.SecurityContextThreadSetupAction.lambda$create$0(SecurityContextThreadSetupAction.java:105)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentInfoService$UndertowThreadSetupAction.lambda$create$0(UndertowDeploymentInfoService.java:1530)
at io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:249)
at io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:78)
at io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:99)
at io.undertow.server.Connectors.executeRootHandler(Connectors.java:387)
at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:841)
at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1990)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
at org.xnio.XnioWorker$WorkerThreadFactory$1$1.run(XnioWorker.java:1280)
at java.lang.Thread.run(Thread.java:748)
Caused by: javax.faces.el.EvaluationException: javax.xml.bind.PropertyException: Eigenschaft "com.sun.xml.bind.namespacePrefixMapper" muss eine Instanz vom Typ com.sun.xml.bind.marshaller.NamespacePrefixMapper sein, und nicht org.docx4j.jaxb.ri.NamespacePrefixMapper
at com.sun.faces.application.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:76)
at com.sun.faces.application.ActionListenerImpl.getNavigationOutcome(ActionListenerImpl.java:82)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:71)
at javax.faces.component.UICommand.broadcast(UICommand.java:222)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:847)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1396)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:58)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:76)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:177)
at javax.faces.webapp.FacesServlet.executeLifecyle(FacesServlet.java:707)
... 54 more
Caused by: javax.xml.bind.PropertyException: Eigenschaft "com.sun.xml.bind.namespacePrefixMapper" muss eine Instanz vom Typ com.sun.xml.bind.marshaller.NamespacePrefixMapper sein, und nicht org.docx4j.jaxb.ri.NamespacePrefixMapper
at com.sun.xml.bind.v2.runtime.MarshallerImpl.setProperty(MarshallerImpl.java:499)
at de.dfs.egps.web.beans.AdministrationBean.testDocx4j(AdministrationBean.java:129)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.sun.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:153)
at com.sun.el.parser.AstValue.invoke(AstValue.java:261)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:237)
at org.jboss.weld.module.web.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.module.web.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at org.jboss.weld.module.web.util.el.ForwardingMethodExpression.invoke(ForwardingMethodExpression.java:40)
at org.jboss.weld.module.web.el.WeldMethodExpression.invoke(WeldMethodExpression.java:50)
at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:65)
at com.sun.faces.application.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:66)
... 63 more
The docx4j dependencies we use in the project are:
docx4j-JAXB-ReferenceImpl-8.3.1.jar
FastInfoset-1.2.16.jar
istack-commons-runtime-3.0.8.jar
jakarta.activation-api-1.2.1.jar
jakarta.xml.bind-api-2.3.2.jar
jaxb-runtime-2.3.2.jar
stax-ex-1.8.1.jar
txw2-2.3.2.jar
docx4j-core-8.3.1.jar
docx4j-openxml-objects-8.3.1.jar
docx4j-openxml-objects-pml-8.3.1.jar
docx4j-openxml-objects-sml-8.3.1.jar
antlr-2.7.7.jar
antlr-runtime-3.5.2.jar
checker-qual-2.8.1.jar
commons-codec-1.12.jar
commons-compress-1.20.jar
commons-io-2.6.jar
commons-lang3-3.9.jar
error_prone_annotations-2.3.3.jar
fontbox-2.0.19.jar
fop-events-2.5.jar
fop-util-2.5.jar
jaxb-svg11-1.0.2.jar
jcl-over-slf4j-1.7.26.jar
mbassador-1.3.2.jar
qdox-1.12.jar
slf4j-api-1.7.26.jar
stringtemplate-3.2.1.jar
wmf2svg-0.9.8.jar
xalan-interpretive-8.0.0.jar
xalan-metainf-8.0.0.jar
xalan-serializer-8.0.0.jar
xmlgraphics-commons-2.3.jar
I read the comment in NamespacePrefixMapperUtils.java which says that an upgrade of ServiceMix should solve the problem but we are on wildfly.
Any help is appreciated!