2013-01-14 110 views
1

我使用cxf的jaxb来解组xml请求。捕获约束绑定对象的jaxb unmarshal异常

我正在寻找一种方法来验证输入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响应中,我可以显示此特定对象的异常消息,以及其他物体。

这可能吗?

任何帮助非常感谢,

回答

0

您可以在Unmarshaller设置的ValidationEventCollector一个实例。它将在解组过程中存储所有的实例ValidationEvent。在unmarshal操作之后,如果它已收集到任何事件,则可以选择抛出Exception

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

+0

感谢您的回复和您的超级文章,我会试试看。 –

+0

ValidationEventCollector可以告诉哪个对象它得到异常吗?例如 ,像下面的xml一样,可以通过validationEventCollector来告诉第一个人的生日日期格式是不正确的? <人名= “第一”> fadsfdas <人名= “第一”> 2012年12月2日