You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@servicemix.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2012/12/05 09:24:58 UTC

[jira] [Resolved] (SMX4-1314) CXF NMR transport throws NPE when it handles the fault message

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

Willem Jiang resolved SMX4-1314.
--------------------------------

    Resolution: Fixed

Applied patch into trunk and 4.4.x branch.
                
>  CXF NMR transport throws NPE when it handles the fault message
> ---------------------------------------------------------------
>
>                 Key: SMX4-1314
>                 URL: https://issues.apache.org/jira/browse/SMX4-1314
>             Project: ServiceMix 4
>          Issue Type: Bug
>          Components: cxf-nmr
>    Affects Versions: 4.4.2
>            Reporter: Willem Jiang
>            Assignee: Willem Jiang
>             Fix For: 4.4.3, 4.5.0
>
>
> When the user has a Camel route which has CXF Endpoints using the NMR transport. They have a camel processor which throws an exception and when using the NMR transports the client times out and receives:
> EXCEPTION: null
> {code}
> java.lang.NullPointerException 
> at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:439) 
> at org.apache.cxf.staxutils.StaxUtils.copy(StaxUtils.java:424) 
> at org.apache.servicemix.cxf.transport.nmr.NMRMessageHelper.convertMessageToInputStream(NMRMessageHelper.java:43)
> at org.apache.servicemix.cxf.transport.nmr.NMRConduitOutputStream.commitOutputMessage(NMRConduitOutputStream.java:172)
> at org.apache.servicemix.cxf.transport.nmr.NMRConduitOutputStream.doClose(NMRConduitOutputStream.java:84)
> at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:184) 
> at org.apache.cxf.io.CacheAndWriteOutputStream.postClose(CacheAndWriteOutputStream.java:47)
> at org.apache.cxf.io.CachedOutputStream.close(CachedOutputStream.java:187) 
> at org.apache.cxf.transport.AbstractConduit.close(AbstractConduit.java:56) 
> at org.apache.cxf.interceptor.MessageSenderInterceptor$MessageSenderEndingInterceptor.handleMessage(MessageSenderInterceptor.java:62)
> at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:263)
> at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:533) 
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:463) 
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:366) 
> at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:319) 
> at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:88) 
> at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:134) 
> at $Proxy131.talk(Unknown Source) 
> at test.CompositeProcessor.process(CompositeProcessor.java:13) 
> 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.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
> 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:71)
> 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.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)
> at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)
> at org.apache.camel.fabric.FabricTraceProcessor.process(FabricTraceProcessor.java:81) 
> at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) 
> at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330)
> 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:304)
> 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:50)
> 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:71)
> at org.apache.camel.component.jetty.CamelContinuationServlet.service(CamelContinuationServlet.java:113)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:806) 
> at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:547) 
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1359)
> at org.eclipse.jetty.servlets.MultiPartFilter.doFilter(MultiPartFilter.java:97) 
> at org.apache.camel.component.jetty.CamelFilterWrapper.doFilter(CamelFilterWrapper.java:44)
> at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1330)
> at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:478) 
> at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:941)
> at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:409) 
> at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:875) 
> at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117) 
> at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110) 
> at org.eclipse.jetty.server.Server.handle(Server.java:349) 
> at org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441) 
> at org.eclipse.jetty.server.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:919)
> at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:582) 
> at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:218) 
> at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51) 
> at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)
> at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44) 
> at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598) 
> at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533) 
> at java.lang.Thread.run(Thread.java:680)
> {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