Hi guys, do we include woodstox?
*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* ---------- Forwarded message ---------- From: Daniel Kulp <[email protected]> Date: 2013/4/2 Subject: Re: woodstox mandatory? To: [email protected] On Apr 2, 2013, at 5:25 AM, Aki Yoshida <[email protected]> wrote: > that generated a required woodstox import in cxf-api's manifest. That > needs to be changed to optional as well. No, I explicitly did not mark it optional to make sure the OBR would pull it in. Dan > 2013/4/2 Sergey Beryozkin <[email protected]>: >> On 02/04/13 11:01, Romain Manni-Bucau wrote: >>> >>> Hi Sergey, >>> >>> tomee doesn't bring it by default because it is too fatty and not always >>> mandatory (same reason we don't bring jackson by default). >>> >>> i think the issue is not with close() but with the loadclass of staxutils >>> which imports woodstox (i run with java 7) >> >> Yep, see it now... I guess we'll need to externalize a bit the explicit >> loading of the Woodstox factory or load it reflectively. >> Dan, what would be your preference ? >> >> Sergey >> >> >>> >>> *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 Sergey Beryozkin<[email protected]> >>> >>>> 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< https://twitter.com/rmannibucau> >>>>>> >>>>>> * >>>>> >>>>> *Blog: >>>>> **http://rmannibucau.**wordpress.com/*< http://rmannibucau.wordpress.com/*> >>>>> <http://**rmannibucau.wordpress.com/<http://rmannibucau.wordpress.com/ >> >>>>> *LinkedIn: >>>>> **http://fr.linkedin.com/in/**rmannibucau*< http://fr.linkedin.com/in/rmannibucau*> >>>>> *Github: >>>>> https://github.com/**rmannibucau*<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://freemanfang.blogspot.com> >>>>>> >>>>>> http://blog.sina.com.cn/u/**1473905042< 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< https://twitter.com/rmannibucau> >>>>>>>> >>>>>>>> * >>>>>>> >>>>>>> *Blog: >>>>>>> **http://rmannibucau.**wordpress.com/*< http://rmannibucau.wordpress.com/*> >>>>>>> < >>>>>>> >>>>>> http://rmannibucau.wordpress.**com/<http://rmannibucau.wordpress.com/ >> >>>>>> >>>>>>> *LinkedIn: >>>>>>> **http://fr.linkedin.com/in/**rmannibucau*< http://fr.linkedin.com/in/rmannibucau*> >>>>>>> *Github: >>>>>>> https://github.com/**rmannibucau*<https://github.com/rmannibucau*> >>>>>>> >>>>>> >>>>>> >>>>>> >>>>> >>>> >>>> -- >>>> Sergey Beryozkin >>>> >>>> Talend Community Coders >>>> http://coders.talend.com/ >>>> >>>> Blog: http://sberyozkin.blogspot.com >>>> >>> >> -- Daniel Kulp [email protected] - http://dankulp.com/blog Talend Community Coder - http://coders.talend.com
