Apache camel Apache Camel FOP组件未传播头

Apache camel Apache Camel FOP组件未传播头,apache-camel,apache-fop,eip,Apache Camel,Apache Fop,Eip,FOP组件似乎不是传播头。在下面的路径中,XSLT组件可以使用头文件,并且它会通过另一端传递头文件。但在fop之后,他们都走了 这是虫子吗?。有人能提出解决办法吗 <route> <from uri="direct:render"/> <to uri="xslt:file:{{rootDir}}/Report.xsl"/> <to uri="fop:application/pdf"/> <log message

FOP组件似乎不是传播头。在下面的路径中,XSLT组件可以使用头文件,并且它会通过另一端传递头文件。但在fop之后,他们都走了

这是虫子吗?。有人能提出解决办法吗

<route>
    <from uri="direct:render"/>
    <to uri="xslt:file:{{rootDir}}/Report.xsl"/>
    <to uri="fop:application/pdf"/>
    <log message="Headers after fop ${headers}"/>
</route>


谢谢

好的,我的解决方法如下:

<route>
    <from uri="direct:render"/>

    <!-- Retain header value in property before it's lost -->
    <setProperty propertyName="lostHeader">
        <simple>${header.lostHeader}</simple>
    </setProperty>

    <to uri="xslt:file:{{rootDir}}/Report.xsl"/>
    <to uri="fop:application/pdf"/>

    <!-- Restore it again -->
    <setHeader headerName="lostHeader">
        <simple>${property.lostHeader}</simple>
    </setHeader>

    <log message="Headers after fop ${headers}"/>

    <!-- Now it's available again here -->
    <to uri="jms:jms/happyQueue"/>
</route>

${header.lostHeader}
${property.lostHeader}

正如我所说,这是一种变通方法,当然,您必须单独处理所需的任何标题。我可能会在fop组件上记录一个jira错误。

是的,看起来像个错误。请随时登录JIRA票证:我已登录票证,因此我们将记住修复它: