JAXB Unmarshall创建了一个空对象

Amb*_*hah 22 xml axis2 jaxb unmarshalling

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

我的问题与此讨论相同:http://old.nabble.com/AXIS2,-JAXB---Unmarshalling-td26847419.html

首要的是:有没有办法可以让它正确地填充数据?

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

Jes*_*num 56

默认情况下,JAXB会默默地忽略错误.我看不出这是默认配置的原因.如果出现问题,请尝试添加此代码以引发异常.

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

  • +10!经过一个小时无休止的抨击,我到达了你的小费.谢谢... (3认同)
  • @JaysonRaymond - 你是对的,我不应该用这些话.但是,刚刚发现我浪费了两天的工作,因为JAXB默默地忽略错误令人沮丧,至少可以说.我坚持认为这不应该是默认配置,但我会根据我的回答编辑措辞. (2认同)