2

请找到以下路线程序,

<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>

在这个 from Xpath 表达式中,我按预期将PurchaseOrderNumber设为152346。现在我将 152346 设置为标头中的变量 body 并将其作为输入发送到名为 Ship 的脚本。

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

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

我的脚本将 152346 作为输入。

4

1 回答 1

2

b2bmbScript不是开箱即用的 Apache Camel 组件,因此它必须是某种第三方/本土组件。

因此,无论该组件支持获取标头还是其他内容,都完全取决于该组件的实现方式。任何 Camel 组件都可以访问来自 CamelExchangeMessage实例的所有数据,因此可以获取正文、标题等。

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

于 2018-03-28T12:04:45.193 回答