[ 
https://issues.apache.org/jira/browse/CAMEL-21129?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17877332#comment-17877332
 ] 

Thomas Jodes commented on CAMEL-21129:
--------------------------------------

In my case (clientRequestValidation true and binding mode 'off' -> ['jackson' 
here|https://github.com/apache/camel/blob/a2212f39466d7ef9185b6557f872ca9a8a7da3b8/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java#L64])
 that leads to a NPE, will it be adressed in 4.8.0?

> NPE rooted in RestBindingAdviceFactory in camel-support after upgrade 4.6->4.7
> ------------------------------------------------------------------------------
>
>                 Key: CAMEL-21129
>                 URL: https://issues.apache.org/jira/browse/CAMEL-21129
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 4.7.0
>            Reporter: Thomas Jodes
>            Assignee: Claus Ibsen
>            Priority: Minor
>             Fix For: 4.8.0
>
>
> Rest Route creation fails with a NPE, setup using 
> {{restConfiguration().clientRequestValidation(true) }}
> with a JSON-binding to a Java type like:
> {{rest("/foo").get("/bar").outType(MyType.class).to("bean:one?method=baz").}}
>  
> *Root cause:*  Changes from 4.6 to 4.7 in RestBindingAdvisorFactory#build(...)
> local variable "outJson" is always null, leading to the NPE for sure at the 
> line seen in the exception trace below.
> {*}In 4.6{*}, "outJson" [is created for sure 
> here|https://github.com/apache/camel/blob/581b94a8d326e381d6c58cfe8ce80c92168ac29a/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java#L76]
> {*}In 4.7{*}, "outJson" [remains null 
> here|https://github.com/apache/camel/blob/a2212f39466d7ef9185b6557f872ca9a8a7da3b8/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java#L70]
>  (because of the new if-else) and will [lead to the NPE 
> here|https://github.com/apache/camel/blob/a2212f39466d7ef9185b6557f872ca9a8a7da3b8/core/camel-support/src/main/java/org/apache/camel/support/processor/RestBindingAdviceFactory.java#L174].
> {{Caused by: java.lang.NullPointerException: Cannot invoke 
> "Object.getClass()" because "target" is null}}
> {{    at 
> org.apache.camel.impl.engine.IntrospectionSupport.setProperty(IntrospectionSupport.java:551)}}
> {{    at 
> org.apache.camel.impl.engine.IntrospectionSupport.setProperty(IntrospectionSupport.java:691)}}
> {{    at 
> org.apache.camel.impl.engine.DefaultBeanIntrospection.setProperty(DefaultBeanIntrospection.java:220)}}
> {{    at 
> org.apache.camel.support.processor.RestBindingAdviceFactory.setupJson(RestBindingAdviceFactory.java:174)}}
> {{    at 
> org.apache.camel.support.processor.RestBindingAdviceFactory.build(RestBindingAdviceFactory.java:80)}}
>  
> {{{}Setting restConfiguration().{}}}clientRequestValidation{{{}(false){}}} 
> will overgo the critical unit of code.
>  
>  



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

Reply via email to