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