Hi Romain
The latest Woodstox has the superior security characteristics with
regard to managing large payloads, and this is why it is preferred now,
perhaps even TomEE might 'consider' swithcing to it in the future,
however, StaxUtils checks a system
"org.apache.cxf.stax.allowInsecureParser" property, in fact at the
moment it is set to 'true' by default to let containers like TomEE
continue using their parsers of choice.
So it appears it is a problem with StaxUtils.close...Or may be you can
simply exclude Woodstox from the maven dependencies when upgrading ?
Thanks, Sergey
On 02/04/13 10:42, Romain Manni-Bucau wrote:
when unmarshalling
(org.apache.cxf.jaxrs.provider.JAXBElementProvider.readFrom) the reader is
closed thanks to StaxUtils.close(reader); call
and it triggers:
org.apache.cxf.jaxrs.client.ClientWebApplicationException:
java.lang.NoClassDefFoundError: com/ctc/wstx/stax/WstxInputFactory
at org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:871)
at
org.apache.cxf.jaxrs.client.WebClient.doChainedInvocation(WebClient.java:841)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:768)
at org.apache.cxf.jaxrs.client.WebClient.doInvoke(WebClient.java:729)
at org.apache.cxf.jaxrs.client.WebClient.invoke(WebClient.java:345)
at org.apache.cxf.jaxrs.client.WebClient.get(WebClient.java:481)
at org.superbiz.rest.UserServiceTest.show(UserServiceTest.java:95)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
at
org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
at
org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at
com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77)
at
com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: java.lang.NoClassDefFoundError:
com/ctc/wstx/stax/WstxInputFactory
at
org.apache.cxf.jaxrs.provider.JAXBElementProvider.readFrom(JAXBElementProvider.java:196)
at
org.apache.cxf.jaxrs.client.AbstractClient.readBody(AbstractClient.java:446)
at org.apache.cxf.jaxrs.client.WebClient.handleResponse(WebClient.java:857)
... 34 more
Caused by: java.lang.ClassNotFoundException:
com.ctc.wstx.stax.WstxInputFactory
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 37 more
*Romain Manni-Bucau*
*Twitter: @rmannibucau<https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*
2013/4/2 Freeman Fang<freeman.f...@gmail.com>
Hi,
I believe it's just compile time dependency, during runtime, you still can
use any other stax parser for now.
What's the error you run into?
-------------
Freeman(Yue) Fang
Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://fusesource.com | http://www.redhat.com/
Twitter: freemanfang
Blog: http://freemanfang.blogspot.com
http://blog.sina.com.cn/u/1473905042
weibo: @Freeman小屋
On 2013-4-2, at 下午3:19, Romain Manni-Bucau wrote:
Hi,
seems woodstox is now mandatory to use cxf (tested with v2.6.7) because
of org.apache.cxf.staxutils.StaxUtils
is it normal?
in TomEE we were remove it by default so basically it means we can't
upgrade
*Romain Manni-Bucau*
*Twitter: @rmannibucau<https://twitter.com/rmannibucau>*
*Blog: **http://rmannibucau.wordpress.com/*<
http://rmannibucau.wordpress.com/>
*LinkedIn: **http://fr.linkedin.com/in/rmannibucau*
*Github: https://github.com/rmannibucau*
--
Sergey Beryozkin
Talend Community Coders
http://coders.talend.com/
Blog: http://sberyozkin.blogspot.com