Search code examples
jaxbwebsphereweblogic

JAXB works differently on websphere or weblogic?


I have a problem deploying an application using JAXB on websphere. For exemple, on weblogic, there is no problem to add a simple java object containing just a string. On websphere it says that the class or none of its super class is known to this context.

"javax.xml.bind.JAXBException: class ch.tie.iengine.server.method.Object_CreateECH0160$RefId nor any of its super class is known to this context. at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:554) at ...

Or if i try to marshall an abstract class on weblogic, there is no problem. on websphere it says that the concrete class needs to have an @XMLRootElement annotation.


Solution

  • As of WebLogic 12.1.1, WebLogic switched to using EclipseLink MOXy as the default JAXB (JSR-222) provider. I believe WebSphere still uses the JAXB reference implementation. This may account for the difference you are seeing.

    For More Information