Etienne Massip created CXF-5189:
-----------------------------------

             Summary: Java transient modifier is ignored by JAXB databinding
                 Key: CXF-5189
                 URL: https://issues.apache.org/jira/browse/CXF-5189
             Project: CXF
          Issue Type: Bug
          Components: JAXB Databinding
    Affects Versions: 2.7.6
            Reporter: Etienne Massip


Method org.apache.cxf.jaxb.JAXBContextInitializer#isFieldAccepted ignores 
transient field modifier and returns true.

I hit this issue because of EClipseLink's [static 
weaving|http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving#Table_19-16]
 which generates such field on model, causing CXF to throw later a 
ServiceConstructionException.

As stated in JAXB 2.1 spec ยง 8.9 "Property And Field":

{quote}
The following must be mapped (subject to the mapping constraints listed below):

(…)
* non static, non transient field of all the ancestors up to the stopClass (but
excluding the stopClass itself); if annotated with @XmlAttribute,
then static final field must be mapped (informally this maps to a fixed
attribute but this is formally specified in the mapping tables below)
{quote}

I haven't dug further but MoXy (see 
http://www.hostettler.net/blog/2012/05/24/moxy) seems to handle them (would 
make sense) and I guess that JAXB RI is as well.


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to