You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2017/03/30 16:08:41 UTC

[jira] [Resolved] (CXF-7186) Aegis DataBinding ignores JAXB annotations on a field

     [ https://issues.apache.org/jira/browse/CXF-7186?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-7186.
------------------------------
       Resolution: Fixed
    Fix Version/s: 3.2.0

Patch applied to 3.2 only due to slight behavior change.

> 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, 3.1.9, 3.0.12
>            Reporter: Sanjin Tulac
>            Assignee: Daniel Kulp
>             Fix For: 3.2.0
>
>         Attachments: CXF-7186.patch, CXF Aegis Data Binding.png
>
>
> 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.15#6346)