Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.7.18, 3.1.9, 3.0.12
-
None
-
Unknown
Description
I've been trying to use CXF with Aegis DataBinding to host a web service that needs to be called by a 3rd party, using 3rd party's XML schema.
It turns out that 3rd party XML schema has a naming convention that element names start with upper case. wsdl2java correctly placed JAXB XMLElement annotations on the fields in the generated POJOs, But at run-time, Aegis DataBinding ignores these JAXB annotations on the fields, which causes the XML from 3rd party to be ignored, instead of converted to the generated POJOs.
I've identified the culprit to be org.apache.cxf.aegist.type.AnnotatedTypeInfo class, whose method createQName only looks for annotations on the getter methods, but ignores annotations on fields.
I can see that this defect stems from the attempt to support both Aegis and JAXB annotations: former expect annotations on the getter methods, but latter however, even though quite similar, expect annotations on the field.
Attachments
Attachments
Issue Links
- relates to
-
CXF-7188 javax.xml.bind.annotation.XmlEnumValue annotation should be honored in Aegis data binding
-
- Closed
-
- links to