[GitHub] [camel-quarkus] aldettinger opened a new issue #2395: jsonpath : HTTP Request to /hello failed, error id: 2f96a34e-881d-4c71-b807-cd256b4d8435-1: org.apache.camel.ExpressionEvaluationException: com.jayway.jsonpath.PathNotFoundException: Missing property in path $['room']

classic Classic list List threaded Threaded
6 messages Options
Reply | Threaded
Open this post in threaded view
|

[GitHub] [camel-quarkus] aldettinger opened a new issue #2395: jsonpath : HTTP Request to /hello failed, error id: 2f96a34e-881d-4c71-b807-cd256b4d8435-1: org.apache.camel.ExpressionEvaluationException: com.jayway.jsonpath.PathNotFoundException: Missing property in path $['room']

GitBox

aldettinger opened a new issue #2395:
URL: https://github.com/apache/camel-quarkus/issues/2395


   Looks there is an issue starting with camel-quarkus 1.8.0, with a route like below:
   ```
           from("platform-http:/hello").
           choice().when().jsonpath("$.room[?(@.temperature > 20)]").
               setBody(simple("HOT")).
           otherwise().
               setBody(constant("WARM")).
           end();
   ```
   
   when invoking with restassured:
   ```
   given().body("{room:{temperature:30}}").when().post("/hello").then().statusCode(200);
   ```
   
   It produces the stack trace below:
   ```
   2021-03-29 10:41:24,828 WARN  [io.qua.arc.impl] (vert.x-worker-thread-0)
   ================================================================================
   CDI: programmatic lookup problem detected
   -----------------------------------------
   At least one bean matched the required type and qualifiers but was marked as unused and removed during build
   Removed beans:
    - PRODUCER_METHOD bean io.quarkus.jackson.runtime.ObjectMapperProducer#objectMapper() [types=[interface com.fasterxml.jackson.core.Versioned, class com.fasterxml.jackson.core.TreeCodec, interface java.io.Serializable, class com.fasterxml.jackson.databind.ObjectMapper, class com.fasterxml.jackson.core.ObjectCodec], qualifiers=[@javax.enterprise.inject.Default(), @javax.enterprise.inject.Any()]]
   Required type: class com.fasterxml.jackson.databind.ObjectMapper
   Required qualifiers: []
   Solutions:
    - Application developers can eliminate false positives via the @Unremovable annotation
    - Extensions can eliminate false positives via build items, e.g. using the UnremovableBeanBuildItem
    - See also https://quarkus.io/guides/cdi-reference#remove_unused_beans
   ================================================================================
   
   2021-03-29 10:41:24,913 ERROR [org.apa.cam.pro.err.DefaultErrorHandler] (vert.x-worker-thread-0) Failed delivery for (MessageId: 032BD1354638674-0000000000000000 on ExchangeId: 032BD1354638674-0000000000000000). Exhausted after delivery attempt: 1 caught: org.apache.camel.ExpressionEvaluationException: com.jayway.jsonpath.PathNotFoundException: Missing property in path $['room']
   
   Message History (complete message history is disabled)
   ---------------------------------------------------------------------------------------------------------------------------------------
   RouteId              ProcessorId          Processor                                                                        Elapsed (ms)
   [route1            ] [route1            ] [from[platform-http:///hello]                                                  ] [       172]
    ...
   [route1            ] [choice1           ] [choice[when[jsonpath{$.room[?(@.temperature > 20)]}],otherwise[setBody[constan] [         0]
   
   Stacktrace
   ---------------------------------------------------------------------------------------------------------------------------------------
   : org.apache.camel.ExpressionEvaluationException: com.jayway.jsonpath.PathNotFoundException: Missing property in path $['room']
    at org.apache.camel.jsonpath.JsonPathExpression.evaluate(JsonPathExpression.java:159)
    at org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:35)
    at org.apache.camel.support.ExpressionSupport.matches(ExpressionSupport.java:36)
    at org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:77)
    at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:71)
    at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:439)
    at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:181)
    at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:62)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:167)
    at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:388)
    at org.apache.camel.component.platform.http.vertx.VertxPlatformHttpConsumer.lambda$handleRequest$2(VertxPlatformHttpConsumer.java:184)
    at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:313)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:834)
   Caused by: com.jayway.jsonpath.PathNotFoundException: Missing property in path $['room']
    at com.jayway.jsonpath.internal.path.PathToken.handleObjectProperty(PathToken.java:72)
    at com.jayway.jsonpath.internal.path.PropertyPathToken.evaluate(PropertyPathToken.java:79)
    at com.jayway.jsonpath.internal.path.RootPathToken.evaluate(RootPathToken.java:62)
    at com.jayway.jsonpath.internal.path.CompiledPath.evaluate(CompiledPath.java:53)
    at com.jayway.jsonpath.internal.path.CompiledPath.evaluate(CompiledPath.java:61)
    at com.jayway.jsonpath.JsonPath.read(JsonPath.java:187)
    at org.apache.camel.jsonpath.JsonPathEngine.readWithAdapter(JsonPathEngine.java:258)
    at org.apache.camel.jsonpath.JsonPathEngine.doRead(JsonPathEngine.java:186)
    at org.apache.camel.jsonpath.JsonPathEngine.read(JsonPathEngine.java:106)
    at org.apache.camel.jsonpath.JsonPathExpression.evaluateJsonPath(JsonPathExpression.java:190)
    at org.apache.camel.jsonpath.JsonPathExpression.evaluate(JsonPathExpression.java:144)
    ... 15 more
   
   2021-03-29 10:41:24,918 WARN  [org.apa.cam.com.pla.htt.ver.VertxPlatformHttpConsumer] (vert.x-eventloop-thread-9) Failed handling platform-http endpoint /hello. Caused by: [org.apache.camel.ExpressionEvaluationException - com.jayway.jsonpath.PathNotFoundException: Missing property in path $['room']]: org.apache.camel.ExpressionEvaluationException: com.jayway.jsonpath.PathNotFoundException: Missing property in path $['room']
    at org.apache.camel.jsonpath.JsonPathExpression.evaluate(JsonPathExpression.java:159)
    at org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:35)
    at org.apache.camel.support.ExpressionSupport.matches(ExpressionSupport.java:36)
    at org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:77)
    at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:71)
    at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:439)
    at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:181)
    at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:62)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:167)
    at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:388)
    at org.apache.camel.component.platform.http.vertx.VertxPlatformHttpConsumer.lambda$handleRequest$2(VertxPlatformHttpConsumer.java:184)
    at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:313)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:834)
   Caused by: com.jayway.jsonpath.PathNotFoundException: Missing property in path $['room']
    at com.jayway.jsonpath.internal.path.PathToken.handleObjectProperty(PathToken.java:72)
    at com.jayway.jsonpath.internal.path.PropertyPathToken.evaluate(PropertyPathToken.java:79)
    at com.jayway.jsonpath.internal.path.RootPathToken.evaluate(RootPathToken.java:62)
    at com.jayway.jsonpath.internal.path.CompiledPath.evaluate(CompiledPath.java:53)
    at com.jayway.jsonpath.internal.path.CompiledPath.evaluate(CompiledPath.java:61)
    at com.jayway.jsonpath.JsonPath.read(JsonPath.java:187)
    at org.apache.camel.jsonpath.JsonPathEngine.readWithAdapter(JsonPathEngine.java:258)
    at org.apache.camel.jsonpath.JsonPathEngine.doRead(JsonPathEngine.java:186)
    at org.apache.camel.jsonpath.JsonPathEngine.read(JsonPathEngine.java:106)
    at org.apache.camel.jsonpath.JsonPathExpression.evaluateJsonPath(JsonPathExpression.java:190)
    at org.apache.camel.jsonpath.JsonPathExpression.evaluate(JsonPathExpression.java:144)
    ... 15 more
   
   2021-03-29 10:41:24,920 ERROR [io.qua.ver.htt.run.QuarkusErrorHandler] (vert.x-eventloop-thread-9) HTTP Request to /hello failed, error id: 4ad630d5-1ff3-40c8-98c5-afe67b4160cc-1: org.apache.camel.ExpressionEvaluationException: com.jayway.jsonpath.PathNotFoundException: Missing property in path $['room']
    at org.apache.camel.jsonpath.JsonPathExpression.evaluate(JsonPathExpression.java:159)
    at org.apache.camel.support.ExpressionAdapter.evaluate(ExpressionAdapter.java:35)
    at org.apache.camel.support.ExpressionSupport.matches(ExpressionSupport.java:36)
    at org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:77)
    at org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:71)
    at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:439)
    at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:181)
    at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:62)
    at org.apache.camel.processor.Pipeline.process(Pipeline.java:167)
    at org.apache.camel.impl.engine.CamelInternalProcessor.process(CamelInternalProcessor.java:388)
    at org.apache.camel.component.platform.http.vertx.VertxPlatformHttpConsumer.lambda$handleRequest$2(VertxPlatformHttpConsumer.java:184)
    at io.vertx.core.impl.ContextImpl.lambda$executeBlocking$2(ContextImpl.java:313)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
    at java.base/java.lang.Thread.run(Thread.java:834)
   Caused by: com.jayway.jsonpath.PathNotFoundException: Missing property in path $['room']
    at com.jayway.jsonpath.internal.path.PathToken.handleObjectProperty(PathToken.java:72)
    at com.jayway.jsonpath.internal.path.PropertyPathToken.evaluate(PropertyPathToken.java:79)
    at com.jayway.jsonpath.internal.path.RootPathToken.evaluate(RootPathToken.java:62)
    at com.jayway.jsonpath.internal.path.CompiledPath.evaluate(CompiledPath.java:53)
    at com.jayway.jsonpath.internal.path.CompiledPath.evaluate(CompiledPath.java:61)
    at com.jayway.jsonpath.JsonPath.read(JsonPath.java:187)
    at org.apache.camel.jsonpath.JsonPathEngine.readWithAdapter(JsonPathEngine.java:258)
    at org.apache.camel.jsonpath.JsonPathEngine.doRead(JsonPathEngine.java:186)
    at org.apache.camel.jsonpath.JsonPathEngine.read(JsonPathEngine.java:106)
    at org.apache.camel.jsonpath.JsonPathExpression.evaluateJsonPath(JsonPathExpression.java:190)
    at org.apache.camel.jsonpath.JsonPathExpression.evaluate(JsonPathExpression.java:144)
    ... 15 more
   ```
   
   At first sight, it seems to occur when mixing platform-http and jsonpath, so maybe linked to how the JsonPathEngine resolve the body. Or maybe the ObjectMapper warning indicates that the engine mess up with jackson...


--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[hidden email]


Reply | Threaded
Open this post in threaded view
|

[GitHub] [camel-quarkus] JiriOndrusek commented on issue #2395: jsonpath : Missing property in path $['room']

GitBox

JiriOndrusek commented on issue #2395:
URL: https://github.com/apache/camel-quarkus/issues/2395#issuecomment-815515788


   Problem is caused be an issue in Camel (https://issues.apache.org/jira/browse/CAMEL-16459). Which is now fixed by https://github.com/apache/camel/pull/5299. This issue could be closed.


--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[hidden email]


Reply | Threaded
Open this post in threaded view
|

[GitHub] [camel-quarkus] aldettinger commented on issue #2395: [Camel 3.10] jsonpath : Missing property in path $['room']

GitBox
In reply to this post by GitBox

aldettinger commented on issue #2395:
URL: https://github.com/apache/camel-quarkus/issues/2395#issuecomment-815521240


   ok, so it should flow from camel-master and I see the case is captured in camel tests now. I agree we can close. Well done @JiriOndrusek :+1:


--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[hidden email]


Reply | Threaded
Open this post in threaded view
|

[GitHub] [camel-quarkus] aldettinger closed issue #2395: [Camel 3.10] jsonpath : Missing property in path $['room']

GitBox
In reply to this post by GitBox

aldettinger closed issue #2395:
URL: https://github.com/apache/camel-quarkus/issues/2395


   


--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[hidden email]


Reply | Threaded
Open this post in threaded view
|

[GitHub] [camel-quarkus] ppalaga commented on issue #2395: [Camel 3.10] jsonpath : Missing property in path $['room']

GitBox
In reply to this post by GitBox

ppalaga commented on issue #2395:
URL: https://github.com/apache/camel-quarkus/issues/2395#issuecomment-815521323


   Let's close once we verify after upgrading to Camel 3.10.


--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[hidden email]


Reply | Threaded
Open this post in threaded view
|

[GitHub] [camel-quarkus] JiriOndrusek commented on issue #2395: [Camel 3.10] jsonpath : Missing property in path $['room']

GitBox
In reply to this post by GitBox

JiriOndrusek commented on issue #2395:
URL: https://github.com/apache/camel-quarkus/issues/2395#issuecomment-815534339


   @ppalaga my bad, I forgot that we have to wait to confirm fix in Camel 3.10


--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[hidden email]