Actually, this stack trace really concerns me. This makes it look like we have an XMLStreamReader that was not created via one of the StaxUtils methods. Otherwise, this exception would be raised at creation time, not close. That bothers me as all the creations of the readers should be done via the StaxUtils methods if possible. (providing this is XML. I suppose if this is JSON with Jettison or Fastinfoset that has their own factories, it's different) Is there anyway you could help debug where the stream reader is being created in this case?
Thanks! Dan On Apr 2, 2013, at 3:42 AM, Romain Manni-Bucau <[email protected]> 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 <[email protected]> > >> 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* >> >> -- Daniel Kulp [email protected] - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
