• java.lang.ClassCastException: packageName$JaxbAccessorF_ cannot be cast

    From Abhishek jain@21:1/5 to All on Wed Aug 4 23:53:01 2021
    Hi ,

    I am getting below error in Test module when trying to create a new instance for jaxb context ,

    Caused by: java.lang.ClassCastException: "PackageName.className"$JaxbAccessorF_FieldName cannot be cast to com.sun.xml.internal.bind.v2.runtime.reflect.Accessor
    at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.instanciate(OptimizedAccessorFactory.java:184)
    at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.get(OptimizedAccessorFactory.java:176)
    at com.sun.xml.internal.bind.v2.runtime.reflect.Accessor$FieldReflection.optimize(Accessor.java:266)
    at com.sun.xml.internal.bind.v2.runtime.property.SingleElementLeafProperty.<init>(SingleElementLeafProperty.java:72)
    at sun.reflect.GeneratedConstructorAccessor5.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.sun.xml.internal.bind.v2.runtime.property.PropertyFactory.create(PropertyFactory.java:113)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:166)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:485)
    at com.sun.xml.internal.bind.v2.runtime.ClassBeanInfoImpl.<init>(ClassBeanInfoImpl.java:153)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getOrCreate(JAXBContextImpl.java:485)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:302)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContextImpl.java:125)
    at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl$JAXBContextBuilder.build(JAXBContextImpl.java:1127)

    below is the code snippet on which it throws error

    jaxbcontext = JAXBContext.newInstance(Classname.class);


    Note :- The code works fine when deploying on a server and sending a request , but fails only in Test Module (We are using OpenEjb framework)

    Can anyone help?

    Thanks

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eric Sosman@21:1/5 to Abhishek jain on Thu Aug 5 10:50:13 2021
    On 8/5/2021 2:53 AM, Abhishek jain wrote:
    Hi ,

    I am getting below error in Test module when trying to create a new instance for jaxb context ,

    Caused by: java.lang.ClassCastException: "PackageName.className"$JaxbAccessorF_FieldName cannot be cast to com.sun.xml.internal.bind.v2.runtime.reflect.Accessor
    at com.sun.xml.internal.bind.v2.runtime.reflect.opt.OptimizedAccessorFactory.instanciate(OptimizedAccessorFactory.java:184)
    [...]

    Although I know nothing whatsoever about JAXB or OpenEjb, I know how
    to do simple Web searches. Looking for "OptimizedAccessorFactory" led
    me to

    https://github.com/eclipse-ee4j/jaxb-ri/issues/1449

    ... which you might find helpful.


    below is the code snippet on which it throws error

    jaxbcontext = JAXBContext.newInstance(Classname.class);

    Lots of detail there ...

    --
    esosman@comcast-dot-net.invalid
    Look on my code, ye Hackers, and guffaw!

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)