XML 验证过滤器
XML 验证过滤器允许您根据提供的模式实例验证传入消息。支持以下模式类型:
-
xml-schema (www.w3.org/2001/XMLSchema)
-
relax-ng (relaxng.org)
验证失败的消息可以被静默丢弃,也可以被转发到可定义的 discard-channel。此外,你还可以配置此过滤器,使其在验证失败时抛出 Exception。
以下列表展示了所有可用的配置参数:
<int-xml:validating-filter discard-channel="" // <1>
id="" // <2>
input-channel="" // <3>
output-channel="" // <4>
schema-location="" // <5>
schema-type="xml-schema" // <6>
throw-exception-on-rejection="false" // <7>
xml-converter="" // <8>
xml-validator=""> // <9>
<int:poller .../> // <10>
</int-xml:validating-filter>
用于发送被拒绝消息的消息通道。可选。
底层 bean 定义的 ID。可选。
此端点的接收消息通道。可选。
用于发送已接受消息的消息通道。可选。
设置用于验证消息负载的 schema 位置。内部使用
org.springframework.core.io.Resource接口。可以设置此属性或xml-validator属性,但不能同时设置两者。可选。设置 schema 类型。可以是
xml-schema或relax-ng。可选。如果未设置,则默认为xml-schema,它在内部转换为org.springframework.xml.validation.XmlValidatorFactory#SCHEMA_W3C_XML。如果为
true,当提供的消息负载验证失败时,将抛出MessageRejectedException。如果未设置,则默认为false。可选。对自定义
org.springframework.integration.xml.XmlPayloadConverter策略的引用。可选。对自定义
org.springframework.xml.validation.XmlValidator策略的引用。可以设置此属性或schema-location属性,但不能同时设置两者。可选。与 XPath 过滤器一起使用的轮询器。可选。