[ 
https://issues.apache.org/jira/browse/CAMEL-24838?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Work on CAMEL-24838 started by Adriano Machado.
-----------------------------------------------
> jsonpath and jq: say that the body is null (and how to load one) instead of 
> 'Cannot read body as supported JSON value'
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: CAMEL-24838
>                 URL: https://issues.apache.org/jira/browse/CAMEL-24838
>             Project: Camel
>          Issue Type: Improvement
>          Components: camel-jq, camel-jsonpath
>            Reporter: Claus Ibsen
>            Assignee: Adriano Machado
>            Priority: Major
>
> On a route with no body (a timer route, a step before the file was read), a 
> jsonpath expression fails with
> {code}
> org.apache.camel.ExpressionEvaluationException: 
> org.apache.camel.CamelExchangeException: Cannot read body as supported JSON 
> value. Exchange[...]
> {code}
> and jq with
> {code}
> org.apache.camel.InvalidPayloadException: No body available of type: 
> com.fasterxml.jackson.databind.JsonNode on: Message. Exchange[...]
> {code}
> Neither says the one thing that matters: the body is null. Both should, in 
> the style of the xslt message from CAMEL-24698: "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." 
> When the body is not null but not JSON, keep the current message and add the 
> body's type.
> Found in the round-2 local-model benchmark on the camel-jbang-examples ladder 
> (json-transform: a timer route with jsonpath and jq steps and no body). A 
> person who puts the jsonpath step before the file read gets the same two 
> messages.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to