【问题标题】:Spring Integration - Add info at filter with XmlValidatingMessageSelector DSLSpring Integration - 使用 XmlValidatingMessageSelector DSL 在过滤器中添加信息
【发布时间】:2018-05-22 14:04:28
【问题描述】:

最好解释一下。

我想要的是 DSL 中的验证 xml,它根据 xml 的字段之一应用一个或其他 xsd。

现在看起来是这样的:

从 MongoDB 读取 -> 拆分 JSON 拥有的文件 -> 尝试验证。 但我想作为参数传递的是相同的 XML,而不是“classpath:validation.xsd”。

return IntegrationFlows.from(configurationInbound(factory))
                .split(Configuration.class,m->m.getFiles().values())
                .filter(new XmlValidatingMessageSelector(commonResources.getResource("classpath:validation.xsd"),
                        SchemaType.XML_SCHEMA))

有什么办法吗?

【问题讨论】:

    标签: spring-integration spring-integration-dsl


    【解决方案1】:

    你的解释有点不清楚,但让我猜一下:

    您希望使用通过流传递的消息中的 XSD 资源,而不是在提到的XmlValidatingMessageSelector 上静态配置。

    如果是这样,那么不幸的是,这就是 XmlValidatingMessageSelector 的设计方式。

    作为一种解决方案,我建议使用从现有XmlValidatingMessageSelector 复制的一些逻辑来实现您自己的DynaicXmlValidatingMessageSelector,并根据传入的消息在accept() 方法中动态创建XmlValidator

    【讨论】:

    • 对不起,我的表达不佳。这就是我要找的。 XML 字段中来自本地 XSD 的 url。我将继续你告诉我的地方。谢谢
    猜你喜欢
    • 2018-01-11
    • 2016-08-13
    • 2022-07-11
    • 2019-03-10
    • 2017-12-22
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多