You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Raul Kripalani (JIRA)" <ji...@apache.org> on 2012/12/18 19:04:13 UTC

[jira] [Updated] (CAMEL-5897) Nullcheck missing in CxfPayloadConverter

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

Raul Kripalani updated CAMEL-5897:
----------------------------------

    Description: 
There's a null-check missing in CxfPayloadConverter which triggers a NPE if the payload is the result from a SOAP Fault, in which case the CxfPayload object contains no body sources at all.

This bug was introduced in r1376523.

Stack trace, in this case what triggers type converters is Stream Caching, but it could happen in other cases where the FallbackConverter is utilized.

{code}
Exception in thread "default-workqueue-3" org.apache.camel.TypeConversionException: Error during type conversion from type: org.apache.camel.component.cxf.CxfPayload to the required type: org.apache.camel.StreamCache with value org.apache.camel.component.cxf.CxfPayload headers: []body: null due java.lang.NullPointerException
	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:126)
	at org.apache.camel.core.osgi.OsgiTypeConverter.convertTo(OsgiTypeConverter.java:102)
	at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:72)
	at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:47)
	at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:46)
	at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
	at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)
[...]
        at org.apache.camel.component.cxf.CxfClientCallback.handleException(CxfClientCallback.java:82)
	at org.apache.cxf.interceptor.ClientOutFaultObserver.onMessage(ClientOutFaultObserver.java:59)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1540)
	at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:426)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:351)
	at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.camel.RuntimeCamelException: java.lang.NullPointerException
	at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1271)
	at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:927)
	at org.apache.camel.impl.converter.StaticMethodFallbackTypeConverter.convertTo(StaticMethodFallbackTypeConverter.java:50)
	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:289)
	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:111)
	... 56 more
Caused by: java.lang.NullPointerException
	at org.apache.camel.component.cxf.converter.CxfPayloadConverter.convertTo(CxfPayloadConverter.java:150)
	at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:923)
	... 59 more
{code}

  was:
There's a null-check missing in CxfPayloadConverter which triggers a NPE if the payload is the result from a SOAP Fault, in which case the CxfPayload object contains no body sources at all.

This bug was introduced in r1376523.

Stack trace, in this case what triggers type converters is Stream Caching, but it could happen in other cases where the FallbackConverter is utilized.

{code}
Exception in thread "default-workqueue-3" org.apache.camel.TypeConversionException: Error during type conversion from type: org.apache.camel.component.cxf.CxfPayload to the required type: org.apache.camel.StreamCache with value org.apache.camel.component.cxf.CxfPayload headers: []body: null due java.lang.NullPointerException
	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:126)
	at org.apache.camel.core.osgi.OsgiTypeConverter.convertTo(OsgiTypeConverter.java:102)
	at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:72)
	at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:47)
	at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:46)
	at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
	at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)
[...]
org.apache.camel.component.cxf.CxfClientCallback.handleException(CxfClientCallback.java:82)
	at org.apache.cxf.interceptor.ClientOutFaultObserver.onMessage(ClientOutFaultObserver.java:59)
	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1540)
	at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:426)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
	at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:351)
	at java.lang.Thread.run(Thread.java:680)
Caused by: org.apache.camel.RuntimeCamelException: java.lang.NullPointerException
	at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1271)
	at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:927)
	at org.apache.camel.impl.converter.StaticMethodFallbackTypeConverter.convertTo(StaticMethodFallbackTypeConverter.java:50)
	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:289)
	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:111)
	... 56 more
Caused by: java.lang.NullPointerException
	at org.apache.camel.component.cxf.converter.CxfPayloadConverter.convertTo(CxfPayloadConverter.java:150)
	at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:923)
	... 59 more
{code}

    
> Nullcheck missing in CxfPayloadConverter
> ----------------------------------------
>
>                 Key: CAMEL-5897
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5897
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-cxf
>    Affects Versions: 2.10.3
>            Reporter: Raul Kripalani
>            Assignee: Raul Kripalani
>
> There's a null-check missing in CxfPayloadConverter which triggers a NPE if the payload is the result from a SOAP Fault, in which case the CxfPayload object contains no body sources at all.
> This bug was introduced in r1376523.
> Stack trace, in this case what triggers type converters is Stream Caching, but it could happen in other cases where the FallbackConverter is utilized.
> {code}
> Exception in thread "default-workqueue-3" org.apache.camel.TypeConversionException: Error during type conversion from type: org.apache.camel.component.cxf.CxfPayload to the required type: org.apache.camel.StreamCache with value org.apache.camel.component.cxf.CxfPayload headers: []body: null due java.lang.NullPointerException
> 	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:126)
> 	at org.apache.camel.core.osgi.OsgiTypeConverter.convertTo(OsgiTypeConverter.java:102)
> 	at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:72)
> 	at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:47)
> 	at org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:46)
> 	at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)
> 	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
> 	at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:303)
> [...]
>         at org.apache.camel.component.cxf.CxfClientCallback.handleException(CxfClientCallback.java:82)
> 	at org.apache.cxf.interceptor.ClientOutFaultObserver.onMessage(ClientOutFaultObserver.java:59)
> 	at org.apache.cxf.transport.http.HTTPConduit$WrappedOutputStream$1.run(HTTPConduit.java:1540)
> 	at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$3.run(AutomaticWorkQueueImpl.java:426)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> 	at org.apache.cxf.workqueue.AutomaticWorkQueueImpl$AWQThreadFactory$1.run(AutomaticWorkQueueImpl.java:351)
> 	at java.lang.Thread.run(Thread.java:680)
> Caused by: org.apache.camel.RuntimeCamelException: java.lang.NullPointerException
> 	at org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1271)
> 	at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:927)
> 	at org.apache.camel.impl.converter.StaticMethodFallbackTypeConverter.convertTo(StaticMethodFallbackTypeConverter.java:50)
> 	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:289)
> 	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:111)
> 	... 56 more
> Caused by: java.lang.NullPointerException
> 	at org.apache.camel.component.cxf.converter.CxfPayloadConverter.convertTo(CxfPayloadConverter.java:150)
> 	at sun.reflect.GeneratedMethodAccessor191.invoke(Unknown Source)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:597)
> 	at org.apache.camel.util.ObjectHelper.invokeMethod(ObjectHelper.java:923)
> 	... 59 more
> {code}

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira