[ 
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)

Reply via email to