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