捕获绑定对象的jaxb unmarshal异常

时间:2013-01-14 17:29:10

标签: validation exception jaxb cxf unmarshalling

我使用cxf的jaxb来解组xml请求。

我正在寻找一种验证输入xml请求的方法,我已经阅读了以下两篇关于验证的超级文章,但它们并不完全是我需要的。

http://blog.bdoughan.com/2010/11/validate-jaxb-object-model-with-xml.html

http://blog.bdoughan.com/2010/12/jaxb-and-marshalunmarshal-schema.html

实际上,我不是立即停止整个解组过程并在响应中返回异常消息,而是需要解组过程继续运行,并且能够将异常与未验证xml元素的对象链接起来。通过这种方式,应用程序仍然可以在除此之外的其他未编组的对象上执行下一个作业,在返回的xml响应的最后,我可以显示此特定对象的异常消息,以及其他对象。

这可能吗?

非常感谢任何帮助,

1 个答案:

答案 0 :(得分:0)

您可以在Unmarshaller上设置ValidationEventCollector的实例。它将存储在解组期间所有的ValidationEvent实例。在unmarshal操作之后,如果它收集了任何事件,那么您可以选择抛出Exception

顺便说一句,我很高兴听到你喜欢这些帖子。