You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2013/01/18 02:56:12 UTC

[jira] [Resolved] (CAMEL-5890) NPE when jaxb fallback converter is used with RequestEntityConverter

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

Willem Jiang resolved CAMEL-5890.
---------------------------------

    Resolution: Fixed

Applied the patch into trunk, camel-2.10.x and camel-2.9.x branches.
                
> NPE when jaxb fallback converter is used with RequestEntityConverter
> --------------------------------------------------------------------
>
>                 Key: CAMEL-5890
>                 URL: https://issues.apache.org/jira/browse/CAMEL-5890
>             Project: Camel
>          Issue Type: Bug
>    Affects Versions: 2.9.4, 2.9.5, 2.10.2, 2.10.3
>            Reporter: Willem Jiang
>            Assignee: Willem Jiang
>             Fix For: 2.9.6, 2.10.4, 2.11.0
>
>
> As the RequestEntityConverter.toRequestEntity(String str, Exchange exchange) doesn't has check if the exchange is null, it caused the NPE as the user complain in camel user mailing list[1]
> [1]http://camel.465427.n5.nabble.com/Content-Enrich-Error-when-upgrading-Apache-Camel-from-2-9-2-to-any-higher-version-td5724244.html
> Here is the stack trace.
> {code}
> CaughtExceptionType:org.apache.camel.TypeConversionException, CaughtExceptionMessage:Error during type conversion from type: com.ecc.DamBean to the required type: org.apache.commons.httpclient.methods.RequestEntity with value com.ecc.DamBean@8811a59 due Error during type conversion from type: java.lang.String to the required type: org.apache.commons.httpclient.methods.RequestEntity with value ... 
> The complete Stack Trace : 
> Exchange[ExchangePattern:InOnly, BodyType:String, Body:, CaughtExceptionType:org.apache.camel.TypeConversionException, CaughtExceptionMessage:Error during type conversion from type: com.ecc.DamBean to the required type: org.apache.commons.httpclient.methods.RequestEntity with value com.ecc.DamBean@8811a59 due Error during type conversion from type: java.lang.String to the required type: org.apache.commons.httpclient.methods.RequestEntity with value due java.lang.NullPointerException, StackTrace:org.apache.camel.TypeConversionException: Error during type conversion from type: com.ecc.DamBean to the required type: org.apache.commons.httpclient.methods.RequestEntity with value com.ecc.DamBean@8811a59 due Error during type conversion from type: java.lang.String to the required type: org.apache.commons.httpclient.methods.RequestEntity with value due java.lang.NullPointerException	at org.apache.camel.converter.jaxb.FallbackTypeConverter.convertTo(FallbackTypeConverter.java:98)	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:289)	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:111)	at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:72)	at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:47)	at org.apache.camel.component.http.HttpProducer.createRequestEntity(HttpProducer.java:390)	at org.apache.camel.component.http.HttpProducer.createMethod(HttpProducer.java:343)	at org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:91)	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.Enricher.process(Enricher.java:114)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)	at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334)	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)	at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:61)	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.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.Pipeline.process(Pipeline.java:148)	at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)	at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:61)	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)	at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)	at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)	at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:57)	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:275)	at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:185)	at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:139)	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:909)	at java.lang.Thread.run(Thread.java:662)Caused by: org.apache.camel.TypeConversionException: Error during type conversion from type: java.lang.String to the required type: org.apache.commons.httpclient.methods.RequestEntity with value due java.lang.NullPointerException	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:126)	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:98)	at org.apache.camel.converter.jaxb.FallbackTypeConverter.marshall(FallbackTypeConverter.java:222)	at org.apache.camel.converter.jaxb.FallbackTypeConverter.convertTo(FallbackTypeConverter.java:94)	... 44 moreCaused 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.StaticMethodTypeConverter.convertTo(StaticMethodTypeConverter.java:47)	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:253)	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:111)	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:98)	at org.apache.camel.converter.jaxb.FallbackTypeConverter.marshall(FallbackTypeConverter.java:222)	at org.apache.camel.converter.jaxb.FallbackTypeConverter.convertTo(FallbackTypeConverter.java:94)	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.doConvertTo(BaseTypeConverterRegistry.java:289)	at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:111)	at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:72)	at org.apache.camel.impl.MessageSupport.getBody(MessageSupport.java:47)	at org.apache.camel.component.http.HttpProducer.createRequestEntity(HttpProducer.java:390)	at org.apache.camel.component.http.HttpProducer.createMethod(HttpProducer.java:343)	at org.apache.camel.component.http.HttpProducer.process(HttpProducer.java:91)	at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.Enricher.process(Enricher.java:114)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)	at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334)	at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)	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.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.Pipeline.process(Pipeline.java:117)	at org.apache.camel.processor.Pipeline.process(Pipeline.java:80)	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.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)	at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)	at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48)	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)	at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)	at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:73)	at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)	at org.apache.camel.component.seda.SedaConsumer.sendToConsumers(SedaConsumer.java:275)	at org.apache.camel.component.seda.SedaConsumer.doRun(SedaConsumer.java:183)	at org.apache.camel.component.seda.SedaConsumer.run(SedaConsumer.java:139)	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)	... 1 moreCaused by: java.lang.NullPointerException	at org.apache.camel.component.http.RequestEntityConverter.toRequestEntity(RequestEntityConverter.java:51)	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)	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)	... 50 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