[ https://issues.apache.org/jira/browse/CAMEL-3343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12976943#action_12976943 ]
Boris Terzic commented on CAMEL-3343: ------------------------------------- Confirmed that this works with the current trunk 2.6-SNAPSHOT version of camel-cxf. > CxfRsInvoker produces NullpointerException when no ContinuationProvider is > set in the InMessage > ----------------------------------------------------------------------------------------------- > > Key: CAMEL-3343 > URL: https://issues.apache.org/jira/browse/CAMEL-3343 > Project: Camel > Issue Type: Bug > Components: camel-cxf > Affects Versions: 2.5.0 > Reporter: Boris Terzic > Assignee: Willem Jiang > Fix For: 2.6.0 > > > In my usage of CXF-RS with Camel through the camel-cxf component I ran into a > NullpointerException, the specific case is described in some detail on > StackOverflow: > http://stackoverflow.com/questions/4198461/why-do-i-get-a-nullpointerexception-when-invoking-the-cxf-rs-endpoint-of-a-camel > > Specifically I run into a NullpointerException: > {code:java} > Caused by: java.lang.NullPointerException > at > org.apache.camel.component.cxf.jaxrs.CxfRsInvoker.getContinuation(CxfRsInvoker.java:63) > at > org.apache.camel.component.cxf.jaxrs.CxfRsInvoker.performInvocation(CxfRsInvoker.java:52) > at > org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:89) > ... 33 more > {code} > I was assuming I was misconfiguring something but didn't find any alternative > way so I started digging in the camel-cxf source code. > I found that such a "getContinuation" method also exists for the > {{org.apache.camel.component.cxf.CxfConsumer}} as well as for the > CxfRsInvoker (where it was failing for me). However in the case of the > CxfConsumer there is a guard on the ContinuationProvider so that if it is > null, then null is returned: > {code:java} > return provider == null ? null : provider.getContinuation(); > {code} > CxfRsInvoker does not have this guard, but it does have code to deal with a > "null" Continuation at the calling site (line 52, in performInvocation). > Therefore I assumed this was a bug and patched the guard into the > CxfRsInvoker as well. > My program now seems to work correctly. I assume this is a bug. > For completeness sake, this is what getContinuation now looks like for me: > {code:java} > private Continuation getContinuation(Exchange cxfExchange) { > ContinuationProvider provider = > > (ContinuationProvider)cxfExchange.getInMessage().get(ContinuationProvider.class.getName()); > return provider == null ? null : provider.getContinuation(); > } > {code} -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.