Routes Apache camel路由将值设置为setHeader,并将该值作为输入传递给脚本

Routes Apache camel路由将值设置为setHeader,并将该值作为输入传递给脚本,routes,apache-camel,spring-dsl,Routes,Apache Camel,Spring Dsl,请查找以下路线计划 <routes xmlns="http://camel.apache.org/schema/spring"> <route id="com.performancebikes.RouteScript" autoStartup="false"> <from uri="b2bmbFileSystem:com.performancebikes/tempSFTP/in"/> <convertBodyTo type="java.lang.St

请查找以下路线计划

<routes xmlns="http://camel.apache.org/schema/spring"> 
<route id="com.performancebikes.RouteScript" autoStartup="false"> 
<from uri="b2bmbFileSystem:com.performancebikes/tempSFTP/in"/>
<convertBodyTo type="java.lang.String" charset="UTF-8"/>
<convertBodyTo type="org.w3c.dom.Document" charset="UTF-8"/>
<split>
<xpath>/B2B_Documents/B2B_PurchaseOrder/Header/HeaderInfo/PurchaseOrderNumber/text()</xpath>
<setHeader headerName="body">
  <constant>${body}</constant>
</setHeader>
<log message="${body}"/>
<to uri="b2bmbScript:com.trainingaccount11/Ship" />
</split>
</route> 
</routes>

/B2B_文档/B2B_采购订单/Header/HeaderInfo/PurchaseOrderNumber/text()
${body}
在这个fromXPath表达式中,我得到了预期的PurchaseOrderNumber作为152346。现在,我将152346设置为标头中的变量体,并将其作为输入发送到名为Ship的脚本

但这里是我没有得到152346作为我的脚本的价值。它将成为空值

请让我知道如何将152346值设置为标题,并将其作为输入传递给脚本


我的脚本将152346作为输入。

b2bmbScript不是现成的Apache Camel组件,因此它必须是某种第三方/国产组件

因此,无论这个组件支持什么样的头文件,或者诸如此类的东西,都完全取决于这个组件的实现方式。任何Camel组件都可以访问Camel
Exchange
Message
实例中的所有数据,因此可以获取正文、标题等

看看这个组件是如何实现的,它的文档等等