У меня есть 2 маршрута:
<route id="test1">
<from uri="direct:start" />
<setProperty propertyName="id">
<simple>${header._id}</simple>
</setProperty>
<setBody>
<simple>${in.headers._id}</simple>
</setBody>
<convertBodyTo type="java.lang.String" />
<log logName="test" message="id : ${body}" />
<to uri="file://inbox"/>
</route>
<route id="tesst" streamCache="true">
<from uri="file://inbox" />
<convertBodyTo type="java.lang.String" />
<log logName="test"
message="from inbox: ${body}" />
<setProperty propertyName="test">
<simple>${body}</simple>
</setProperty>
<to
uri="sql: SELECT blabla FROM blabla WHERE test = :#${property.test}" />
<setProperty propertyName="result">
<simple>${body}</simple>
</setProperty>
<choice>
<when>
<simple>${property.result} != ""</simple>
<log logName="test"
message="call procedure.." />
<to uri="sql: CALL public.sp_test(:#${property.test})" />
</when>
<otherwise>
<log logName="test" message="Data not found!" />
<setHeader headerName="Exchange.HTTP_RESPONSE_CODE">
<constant>404</constant>
</setHeader>
<camel:setBody>
<simple resultType="java.lang.String">Data not found!</simple>
</camel:setBody>
</otherwise>
</choice>
</route>
Когда я вставляю неправильные данные, HTTP-ответ я получаю еще 200. Я хочу сделать HTTP-ответ 404 после некоторой проверки в проверке выбора, когда в противном случае. я уже пробовал setheader, setheaderout, но ни один из них не работает. как я могу это сделать?