我有基于标头值进行休息调用的驼峰路由。 我一直在使用xpath从xml读取值并将它们设置为标题并在块中使用xpath,如下所示:
<camel:setHeader headerName="clear">
<xpath>/TicketInfo/TicketData/Clear/text()</xpath>
</camel:setHeader>
<camel:choice>
<camel:when>
<camel:xpath>$clear='CLEARED'</camel:xpath>
<camel:doTry>
...
但现在我被迫使用json,所以xpath将无法正常工作。我现在有:
<camel:setHeader headerName="clear">
<camel:jsonpath>$.ticket.Type</camel:jsonpath>
</camel:setHeader>
<camel:choice>
<camel:when>
<camel:xpath>$clear='CLEARED'</camel:xpath>
<camel:doTry>
...
但显然<camel:xpath>$clear='CLEARED'</camel:xpath>
部分将不再起作用。还有另一种方法可以检查$ clear标头的值,以便在<camel:doTry>
和后续执行时进行限制吗?
答案 0 :(得分:1)
试用simple
语言:
<camel:when>
<camel:simple>${in.header.clear} == 'CLEARED'</camel:simple>
<camel:doTry>