You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Claus Ibsen (Jira)" <ji...@apache.org> on 2026/09/23 12:04:00 UTC
[jira] [Created] (CAMEL-24931) camel-jsonpath, camel-jq: the null body hint says how to read the data, not only that it must be read
Claus Ibsen created CAMEL-24931:
-----------------------------------
Summary: 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
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)