You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@chemistry.apache.org by "Lucas, Mike" <Mi...@gwl.ca> on 2014/10/02 19:47:28 UTC
upgrade to opencmis 0.12.0 causes JAXB errors
I have 2 opencmis dependencies in my java projects' maven poms, chemistry-opencmis-client-bindings and chemistry-opencmis-client-impl. When I change these from version 0.11.0 to 0.12.0, I get a LinkageError with the below stack trace.
Changing back to 0.11.0 immediately makes the problem go away, so I'm pretty sure this is the cause.
Does anyone know if there are some JAXB related dependences that have changed between 0.11.0 and 0.12.0, or anything else you can think of that might have caused this issue, before I go digging further?
Note I am testing with WebSphere Liberty Profile 8.5.
Stack trace:
java.lang.LinkageError: loader constraint violation: when resolving overridden method "com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Ljavax/xml/stream/XMLEventReader;)Ljava/lang/Object;" the class loader (instance of com/ibm/ws/classloading/internal/ParentLastClassLoader) of the current class, com/sun/xml/bind/v2/runtime/unmarshaller/UnmarshallerImpl, and its superclass loader (instance of <bootloader>), have different Class objects for the type com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Ljavax/xml/stream/XMLEventReader;)Ljava/lang/Object; used in the signature
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.createUnmarshaller(JAXBContextImpl.java:776)
at com.sun.xml.bind.v2.runtime.JAXBContextImpl.createUnmarshaller(JAXBContextImpl.java:141)
at org.apache.cxf.jaxb.io.DataReaderImpl.createUnmarshaller(DataReaderImpl.java:105)
at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:156)
at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:206)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:218)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:200)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:114)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:184)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:107)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:163)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1240)
at [internal classes]
at ca.gwl.group.common.auth.BasicAuthPropogationFilter.doFilter(BasicAuthPropogationFilter.java:57)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194)
at [internal classes]
Thanks
michael lucas | Senior Software Developer | Great-West Life
Re: upgrade to opencmis 0.12.0 causes JAXB errors
Posted by Florian Müller <fm...@apache.org>.
Hi Michael,
OpenCMIS 0.12.0 now determines und uses the default JAX-WS
implementation in its environment.
In your case it detected CXF. It seems to collide with a JAXB
implementation in your classpath.
You can either resolve this classloading issue (is there a JAXB
implementation in your classpath that you can remove?) or you can set
the session parameter SessionParameter.WEBSERVICES_JAXWS_IMPL to
"sunjre" or "sunri" if you have the Sun JAX-WS RI implementation in your
classpath.
- Florian
> I have 2 opencmis dependencies in my java projects' maven poms, chemistry-opencmis-client-bindings and chemistry-opencmis-client-impl. When I change these from version 0.11.0 to 0.12.0, I get a LinkageError with the below stack trace.
>
> Changing back to 0.11.0 immediately makes the problem go away, so I'm pretty sure this is the cause.
>
> Does anyone know if there are some JAXB related dependences that have changed between 0.11.0 and 0.12.0, or anything else you can think of that might have caused this issue, before I go digging further?
>
> Note I am testing with WebSphere Liberty Profile 8.5.
>
> Stack trace:
> java.lang.LinkageError: loader constraint violation: when resolving overridden method "com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Ljavax/xml/stream/XMLEventReader;)Ljava/lang/Object;" the class loader (instance of com/ibm/ws/classloading/internal/ParentLastClassLoader) of the current class, com/sun/xml/bind/v2/runtime/unmarshaller/UnmarshallerImpl, and its superclass loader (instance of <bootloader>), have different Class objects for the type com.sun.xml.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Ljavax/xml/stream/XMLEventReader;)Ljava/lang/Object; used in the signature
> at com.sun.xml.bind.v2.runtime.JAXBContextImpl.createUnmarshaller(JAXBContextImpl.java:776)
> at com.sun.xml.bind.v2.runtime.JAXBContextImpl.createUnmarshaller(JAXBContextImpl.java:141)
> at org.apache.cxf.jaxb.io.DataReaderImpl.createUnmarshaller(DataReaderImpl.java:105)
> at org.apache.cxf.jaxb.io.DataReaderImpl.read(DataReaderImpl.java:156)
> at org.apache.cxf.interceptor.DocLiteralInInterceptor.handleMessage(DocLiteralInInterceptor.java:109)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
> at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
> at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:206)
> at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:218)
> at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:200)
> at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:114)
> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:184)
> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:107)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:595)
> at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:163)
> at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1240)
> at [internal classes]
> at ca.gwl.group.common.auth.BasicAuthPropogationFilter.doFilter(BasicAuthPropogationFilter.java:57)
> at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:194)
> at [internal classes]
>
> Thanks
> michael lucas | Senior Software Developer | Great-West Life
>