This is an automated email from the ASF dual-hosted git repository.

dkulp pushed a commit to branch 3.1.x-fixes
in repository https://gitbox.apache.org/repos/asf/cxf.git

commit 7e541ff81d921841e46aaf1f8e8831d6b7366de5
Author: rnetuka <rnet...@redhat.com>
AuthorDate: Wed Apr 11 15:17:38 2018 +0200

    [JBWS-4097] JAXB doesn't (un)marshall property with @XmlElementRef
---
 .../jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java    | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git 
a/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java 
b/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java
index d10ac86..ccbad30 100644
--- a/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java
+++ b/rt/databinding/jaxb/src/main/java/org/apache/cxf/jaxb/JAXBDataBinding.java
@@ -47,6 +47,7 @@ import javax.xml.bind.Marshaller;
 import javax.xml.bind.Unmarshaller;
 import javax.xml.bind.ValidationEventHandler;
 import javax.xml.bind.annotation.XmlElement;
+import javax.xml.bind.annotation.XmlElementRef;
 import javax.xml.bind.annotation.adapters.XmlAdapter;
 import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter;
 import javax.xml.namespace.QName;
@@ -800,6 +801,12 @@ public class JAXBDataBinding extends 
AbstractInterceptorProvidingDataBinding
                 && partName.equals(el.name())) {
                 return field;
             }
+
+            XmlElementRef xmlElementRefAnnotation = 
field.getAnnotation(XmlElementRef.class);
+            if (xmlElementRefAnnotation != null && 
partName.equals(xmlElementRefAnnotation.name())) {
+                return field;
+            }
+
             if (field.getName().equals(fieldName)) {
                 return field;
             }

-- 
To stop receiving notification emails like this one, please contact
dk...@apache.org.

Reply via email to