这看起来应该很简单,请原谅双关语。我正在尝试在 Spring DSL 路由中的 Camel 中记录标头。我已经看到了答案Java DSL https://stackoverflow.com/questions/15111044/how-to-access-get-camel-header-in-java-dsl但我一直在徒劳地寻找如何让它在 Spring DSL 中工作。我试过了:
<log message="ftping $simple{header.CamelFileName}"/>
并且:
<log message="ftping ${header.CamelFileName}"/>
以及其他几种排列/变体,但它们都只是逐字记录该文本(即它们不替换实际的标头名称)。
我缺少什么?
update:这是我的 xml 文件的较大部分:
<split>
<simple>${body}</simple>
<setHeader headerName="CamelFileName">
<simple>${body.batchNumber}.xml</simple>
</setHeader>
<log message="SLH - 5 -- marshalling an EFileBatch to XML" loggingLevel="DEBUG" />
<marshal>
<jaxb prettyPrint="true" contextPath="generated.gov.nmcourts.ecitation"
partClass="generated.gov.nmcourts.ecitation.NMCitationEFileBatch"
partNamespace="EFileBatch" />
</marshal>
<log message="SLH - 6 -- xslt transform to add schema location" loggingLevel="DEBUG" />
<to uri="{{addSchemaLocationXsltUri}}"/>
<log message="SLH - 7 -- ftp now initiating" loggingLevel="DEBUG" />
<log message="ftping ${headers.CamelFileName}"/>
<to uri="{{ftpOdysseyInputPath}}"/>
<log message="SLH - 8 -- ftp now complete" loggingLevel="DEBUG" />
</split>
前段时间问过这个问题,并意识到我最终找到了答案,因此应该将其发布在这里,以防其他人在搜索中找到此线程。这有效:
<log message="ftping $simple{in.header.CamelFileName}" loggingLevel="DEBUG"/>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)