xml - JAXB Unmarshal 创建了一个空对象

标签 xml jaxb axis2 unmarshalling

我正在使用 JAXB 将 XML 文件解码为对象树。根对象是非空的,但它的所有成员都是空的,即使 XML 文件中有数据也是如此。我的对象类是使用来自 wsdls 的 Axis2 生成的。我有 ObjectFactory 类、jaxb.in​​dex 类、package.info 注释等。

我的问题和这个讨论一样:http://old.nabble.com/AXIS2,-JAXB---Unmarshalling-td26847419.html

首先也是最重要的:有没有办法让它正确填充数据?

如果没有,是否有一个很好的 Axis2 或 JAXB 替代库,它们可以做同样的事情,但可以很好地相互配合?

最佳答案

默认情况下,JAXB 会默默地忽略错误。我看不出这是默认配置的任何原因。尝试添加此代码以在出现问题时抛出异常。

unmarshaller.setEventHandler(
    new ValidationEventHandler() {
        @Override
        public boolean handleEvent(ValidationEvent event ) {
            throw new RuntimeException(event.getMessage(),
                                       event.getLinkedException());
        }
});

关于xml - JAXB Unmarshal 创建了一个空对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2633276/

相关文章:

c# - 在具有命名空间前缀的元素内创建不带命名空间前缀的 XML 元素

xml - 如何使用 Xquery 返回最后一个具有命名空间的节点

java - hibernate调用可以返回XML数据吗?

java - 从元模型中消除可选字段

xml - Axis 2 : "URI cannot be null" using Tomcat 8

axis2 - 尝试执行 axis2 服务客户端时出现异常

php - 通过 PHP 清除 XML 文档中的十六进制实体

java - 元素的 JAXB 多内容

java - JAXB 子根元素

java - 如何使用 WSDL2Java 生成文件?