使用@XmlAnyElement注释时出现JAXB MOXy Binder问题

时间:2012-10-05 08:25:39

标签: jaxb eclipselink moxy

在MOXy中使用Binder实现时遇到问题 这是输入XML文档(input.xml)

<?xml version="1.0" encoding="utf-8"?>
<root>
  <unmapped />
</root>

现在,这里是用于将XML解组为Binder实例,然后从相应的Java对象更新XML的源代码:

JAXBContext context = JAXBContext.newInstance(Input.class);

DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder();
Document document = builder.parse(new File("input.xml"));

Binder<Node> binder = context.createBinder(Node.class);
Input input = (Input) binder.unmarshal(document);

binder.updateXML(input);  

最后,非常简单的Input类文件:

@XmlRootElement(name = "root")
public class Input {
    @XmlAnyElement
    protected Object[] elements;
}  

调用updateXML()方法时,抛出以下异常:

java.lang.NullPointerException
at org.eclipse.persistence.internal.jaxb.DomHandlerConverter.convertObjectValueToDataValue(DomHandlerConverter.java:97)  

1 个答案:

答案 0 :(得分:0)

我们已经能够确认这个问题,看起来它将是一个非常快速的解决方案。您可以使用以下链接跟踪我们在此问题上的进展。


<强>更新

已经在EclipseLink 2.5.0流中检查了修复程序,可以从以下位置获取每晚下载:

我们还检查了EclipseLink 2.4.2流的修复程序。从2012年10月12日开始,可以从上述位置每晚下载。