diff --git a/jaxb-ri/runtime/impl/src/main/java/org/glassfish/jaxb/runtime/v2/runtime/BinderImpl.java b/jaxb-ri/runtime/impl/src/main/java/org/glassfish/jaxb/runtime/v2/runtime/BinderImpl.java index b3948632d..9ae096d1d 100644 --- a/jaxb-ri/runtime/impl/src/main/java/org/glassfish/jaxb/runtime/v2/runtime/BinderImpl.java +++ b/jaxb-ri/runtime/impl/src/main/java/org/glassfish/jaxb/runtime/v2/runtime/BinderImpl.java @@ -20,6 +20,8 @@ import org.w3c.dom.Node; import org.xml.sax.SAXException; +import java.util.Objects; + import javax.xml.namespace.QName; import javax.xml.validation.Schema; @@ -178,7 +180,7 @@ public XmlNode updateXML(Object jaxbObject, XmlNode xmlNode) throws JAXBExceptio // the marshalling successful. JaxBeanInfo bi = context.getBeanInfo(jaxbObject, true); if(!bi.isElement()) - jaxbObject = new JAXBElement(new QName(e.getNamespaceURI(),e.getLocalName()),bi.jaxbType,jaxbObject); + jaxbObject = new JAXBElement(new QName(e.getNamespaceURI(),Objects.requireNonNullElse(e.getLocalName(), e.getNodeName()),bi.jaxbType,jaxbObject); getMarshaller().marshal(jaxbObject,p);