[
https://issues.apache.org/jira/browse/CXF-1711?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12615406#action_12615406
]
Daniel Kulp commented on CXF-1711:
----------------------------------
OK. This looks like a behavior change in JAXB2.1, but we can work around it.
Basically, JAXB 2.0 doesn't seem to grab the superclasses of types prior to
checking the annotations. Thus, the supertype of the AlarmType
(EventInformationType and it's superclass CommonEventInformationType) are not
available in the context and thus the element isn't available.
Two ways to deal with it:
1) Use the "extra classes" configuration stuff to configure in the extra
classes that are needed.
2) Update the JAXBContextInitializer to walk the parent as well. I'll get
this done on the fixes branch.
> Server failed to start and receieved IllegalAnnotationExceptions
> -----------------------------------------------------------------
>
> Key: CXF-1711
> URL: https://issues.apache.org/jira/browse/CXF-1711
> Project: CXF
> Issue Type: Bug
> Components: JAXB Databinding
> Affects Versions: 2.0.7
> Reporter: William Tam
> Priority: Critical
> Fix For: 2.0.8
>
> Attachments: mtosi_v2.tar.gz
>
>
> Un-tar the attached tarball in the samples directory, then change to
> mtosi_v2/alarm_retrieval directory and run "ant server". The following
> stackstrace can be reproduced. (It requires ACTIVEMQ_VERSION and
> ACTIVEMQ_HOME to be set). it works find in 2.1.
> [java] Caused by:
> com.sun.xml.bind.v2.runtime.IllegalAnnotationsException:
> 1 counts of IllegalAnnotationExceptions
> [java] No element mapping exists for
> "http://www.tmforum.org/mtop/fmw/xsd/c
> ei/v1":"commonEventInformation"
> [java] this problem is related to the following location:
> [java] at
> @javax.xml.bind.annotation.XmlElementDecl(namespace=h
> ttp://www.tmforum.org/mtop/nra/xsd/alm/v1, defaultValue= ,
> substitutionHeadName=
> commonEventInformation, scope=class
> javax.xml.bind.annotation.XmlElementDecl$GLO
> BAL, substitutionHeadNamespace=http://www.tmforum.org/mtop/fmw/xsd/cei/v1,
> name=
> alarm)
> [java] at public javax.xml.bind.JAXBElement
> org.tmforum.mtop.nr
> a.xsd.alm.v1.ObjectFactory.createAlarm(org.tmforum.mtop.nra.xsd.alm.v1.AlarmType
> )
> [java] at org.tmforum.mtop.nra.xsd.alm.v1.ObjectFactory
> [java] at
> com.sun.xml.bind.v2.runtime.IllegalAnnotationsException$Build
> er.check(IllegalAnnotationsException.java:66)
> [java] at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getTypeInfoSet(JA
> XBContextImpl.java:389)
> [java] at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.<init>(JAXBContex
> tImpl.java:236)
> [java] at
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFacto
> ry.java:76)
> [java] at
> com.sun.xml.bind.v2.ContextFactory.createContext(ContextFacto
> ry.java:55)
> [java] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> [java] at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces
> sorImpl.java:39)
> [java] at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet
> hodAccessorImpl.java:25)
> [java] at java.lang.reflect.Method.invoke(Method.java:585)
> [java] at
> javax.xml.bind.ContextFinder.newInstance(ContextFinder.java:2
> 10)
> [java] at javax.xml.bind.ContextFinder.find(ContextFinder.java:366)
> [java] at
> javax.xml.bind.JAXBContext.newInstance(JAXBContext.java:574)
> [java] at
> org.apache.cxf.jaxb.JAXBDataBinding.createJAXBContext(JAXBDat
> aBinding.java:512)
> [java] at
> org.apache.cxf.jaxb.JAXBDataBinding.initialize(JAXBDataBindin
> g.java:268)
> [java] ... 14 more
> [java] Java Result: 1
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.