camel:when header 值使用蓝图
camel:when on header value using blueprint
我有基于 header 值进行休息呼叫的骆驼路线。
我一直在使用 xpath 从 xml 读取值并将它们设置为 header 并在块中使用 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 header 的值以限制 <camel:doTry>
和以下执行的时间?
尝试 simple
语言:
<camel:when>
<camel:simple>${in.header.clear} == 'CLEARED'</camel:simple>
<camel:doTry>
我有基于 header 值进行休息呼叫的骆驼路线。 我一直在使用 xpath 从 xml 读取值并将它们设置为 header 并在块中使用 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 header 的值以限制 <camel:doTry>
和以下执行的时间?
尝试 simple
语言:
<camel:when>
<camel:simple>${in.header.clear} == 'CLEARED'</camel:simple>
<camel:doTry>