[
https://issues.apache.org/jira/browse/CAMEL-24931?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Claus Ibsen resolved CAMEL-24931.
---------------------------------
Resolution: Fixed
> camel-jsonpath, camel-jq: the null body hint says how to read the data, not
> only that it must be read
> -----------------------------------------------------------------------------------------------------
>
> Key: CAMEL-24931
> URL: https://issues.apache.org/jira/browse/CAMEL-24931
> Project: Camel
> Issue Type: Improvement
> Components: camel-jsonpath
> Reporter: Claus Ibsen
> Priority: Minor
> Fix For: 4.23.0
>
>
> A route reached with {{direct:}} has the body of its caller. When the caller
> has none - a REST GET, a timer - a {{jsonpath}} or {{jq}} step in that route
> has nothing to read, and the message says to read the JSON first but not how:
> {noformat}
> The jsonpath expression got no message body to evaluate (the body is null):
> read the JSON before the step
> with poll: file:..., pollEnrich or a from: consumer, or set it with setBody
> {noformat}
> "set it with setBody" is the answer for the common case - a file the route
> knows the name of - and it does not say what to put in the setBody. In the AI
> route benchmark this exact failure produced 24 exceptions per run over five
> runs, with the model reading the message every time and never adding the
> read, because the message names the mechanism and not the form.
> The two hints now carry the rule and both forms:
> {noformat}
> The jsonpath expression got no message body to evaluate (the body is null): a
> route reached with direct: has
> the body of its caller, so when the caller has none, read the data first -
> setBody with
> constant: resource:file:data.json for a known file, or poll:, pollEnrich or a
> from: consumer for one that is not
> {noformat}
> Same wording in {{JqExpression}}. Related to CAMEL-24838, which added the
> original hint.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)