You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Sanjin Tulac (JIRA)" <ji...@apache.org> on 2016/12/16 19:28:00 UTC

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

Sanjin Tulac created CXF-7186:
---------------------------------

             Summary: 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


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)