[ https://issues.apache.org/jira/browse/CXF-7186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sanjin Tulac updated CXF-7186: ------------------------------ Attachment: CXF-7186.patch Attaching patch file I used to fix and test the fix on fixes-2.7.x-fixes branch. I also created a pull request with this fix as https://github.com/apache/cxf/pull/216. > Aegis DataBinding ignores JAXB annotations on a field > ----------------------------------------------------- > > Key: CXF-7186 > URL: https://issues.apache.org/jira/browse/CXF-7186 > Project: CXF > Issue Type: Bug > Components: Aegis Databinding > Affects Versions: 2.7.18 > Reporter: Sanjin Tulac > Attachments: CXF-7186.patch > > > 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. -- This message was sent by Atlassian JIRA (v6.3.4#6332)