diff options
Diffstat (limited to 'sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java')
-rw-r--r-- | sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java b/sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java index 5d7527cfa7..4d3302cffa 100644 --- a/sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java +++ b/sca-java-2.x/trunk/modules/databinding-jaxb/src/main/java/org/apache/tuscany/sca/databinding/jaxb/JAXBDataBinding.java @@ -19,6 +19,8 @@ package org.apache.tuscany.sca.databinding.jaxb; +import static org.apache.tuscany.sca.databinding.jaxb.JAXBContextHelper.getValueType; + import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; @@ -120,9 +122,9 @@ public class JAXBDataBinding extends BaseDataBinding { Object value; if (targetDataType != null && targetDataType.getPhysical() != sourceDataType.getPhysical()) { JAXBContext targetContext = contextHelper.createJAXBContext(targetDataType); - value = targetContext.createUnmarshaller().unmarshal(doc, targetDataType.getPhysical()); + value = targetContext.createUnmarshaller().unmarshal(doc, getValueType(targetDataType.getPhysical())); } else { - value = context.createUnmarshaller().unmarshal(doc, sourceDataType.getPhysical()); + value = context.createUnmarshaller().unmarshal(doc, getValueType(sourceDataType.getPhysical())); } if (isElement && value instanceof JAXBElement) { |