gpt4 book ai didi

validation - 在验证器 uri 组件中使用时, Camel 消息交换属性未被解析

转载 作者:行者123 更新时间:2023-12-05 02:17:52 25 4
gpt4 key购买 nike

我正在尝试使用蓝图 DSL 使用 camel 的验证器组件针对 xsd 验证 xml 文件。

<to id="validateXML" uri="validator:file:D:/data/schema/flow.xsd" /> --> working

<to id="validateXML" uri="validator:file:${property.flowXsdPath}" /> --> Not working

flowXsdPath 是一个交换属性,设置为由变量 xsdPathVar 定义的 xsd 位置,如下所示:

exchange.setProperty("flowXsdPath", exchange.getContext().resolvePropertyPlaceholders(xsdPathVar));

我收到异常“无法为端点创建生产者:端点[validator://file:$%7Bproperty.flowXsdPath%7D]。原因:java.io.FileNotFoundException:${property.flowXsdPath}(系统找不到指定的文件)”

虽然我可以在验证 xml 文件之前访问日志消息中的属性值,就像这样

<log message="File ${file:name} XSD Location = ${property.flowXsdPath}" /> 

2017-10-16 11:48:44,037 | INFO | processXMLFiles] | file-jms-hums-route | ID-ITEM-XXXXX-49898-1508134722113-0-3 | File 20150603-161237-A412-MFSC.xml XSD Location = D:/data/schema/FSC.xsd

请问我如何访问验证器文件组件中的这个属性?

最佳答案

您应该使用动态到 <toD>而不是 <to>将消息发送到动态计算端点。

请参阅 http://camel.apache.org/message-endpoint.html 中的相关部分

关于validation - 在验证器 uri 组件中使用时, Camel 消息交换属性未被解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46765333/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com