[ https://issues.apache.org/jira/browse/CAMEL-7867?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Willem Jiang resolved CAMEL-7867. --------------------------------- Resolution: Fixed Fix Version/s: 2.15.0 2.14.1 2.13.3 2.12.5 > NullPointerException when using CXF endpoint to enrich > ------------------------------------------------------ > > Key: CAMEL-7867 > URL: https://issues.apache.org/jira/browse/CAMEL-7867 > Project: Camel > Issue Type: Bug > Components: camel-cxf > Affects Versions: 2.13.2 > Environment: Maven project on RHEL > Reporter: David Hudlow > Assignee: Willem Jiang > Fix For: 2.12.5, 2.13.3, 2.14.1, 2.15.0 > > > When using Spring application context file to enrich a CXF message with > another CXF endpoint, I get a NullPointerException whenever a message comes > in. If I route with a <to> instead of <enrich>, it works fine. > <cxf:cxfEndpoint id="producerEndpoint" > address="/Request/" > serviceClass="com.service.ClassName" > wsdlURL="/Service.wsdl" > > </cxf:cxfEndpoint> > <cxf:cxfEndpoint id="enrichEndpoint" > address="http://localhost:8082/Request/" > serviceClass="com.service.ClassName" > wsdlURL="/Service.wsdl"> > </cxf:cxfEndpoint> > ... > <camelContext xmlns="http://camel.apache.org/schema/spring"> > <route> > <from ref="producerEndpoint" /> > <enrich ref="enrichEndpoint" /> > <to ref="finalEndpoint" /> > </route> > </camelContext> > Stacktrace > --------------------------------------------------------------------------------------------------------------------------------------- > java.lang.NullPointerException > at > org.apache.camel.component.cxf.CxfProducer.prepareRequest(CxfProducer.java:190) > at > org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:107) > at org.apache.camel.processor.Enricher.process(Enricher.java:114) > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105) > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87) > at > org.apache.camel.component.cxf.CxfConsumer$1.syncInvoke(CxfConsumer.java:136) > at > org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:77) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126) > at > org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:243) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149) > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262) > at > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:696) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1568) > at > org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:164) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1539) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:524) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1110) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:453) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1044) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199) > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > at org.eclipse.jetty.server.Server.handle(Server.java:459) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279) > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229) > at > org.eclipse.jetty.io.AbstractConnection$1.run(AbstractConnection.java:505) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:594) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:525) > at java.lang.Thread.run(Thread.java:745) > [ qtp1470360717-16] PhaseInterceptorChain WARN > Application > {http://gl.services.csw}CswPortService#{http://gl.services.csw}getRecords has > thrown exception, unwinding now > org.apache.cxf.interceptor.Fault: NullPointerException > at > org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer.java:230) > at > org.apache.camel.component.cxf.CxfConsumer$1.setResponseBack(CxfConsumer.java:208) > at > org.apache.camel.component.cxf.CxfConsumer$1.syncInvoke(CxfConsumer.java:142) > at > org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:77) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) > at > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) > at java.util.concurrent.FutureTask.run(FutureTask.java:262) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor$2.run(ServiceInvokerInterceptor.java:126) > at > org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) > at > org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:131) > at > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) > at > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) > at > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:243) > at > org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197) > at > org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149) > at > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:286) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:206) > at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) > at > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:262) > at > org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:696) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1568) > at > org.eclipse.jetty.websocket.server.WebSocketUpgradeFilter.doFilter(WebSocketUpgradeFilter.java:164) > at > org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1539) > at > org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:524) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) > at > org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:568) > at > org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:221) > at > org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1110) > at > org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:453) > at > org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:183) > at > org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1044) > at > org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) > at > org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:199) > at > org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:109) > at > org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) > at org.eclipse.jetty.server.Server.handle(Server.java:459) > at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:279) > at > org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:229) > at > org.eclipse.jetty.io.AbstractConnection$1.run(AbstractConnection.java:505) > at > org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:594) > at > org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:525) > at java.lang.Thread.run(Thread.java:745) > Caused by: java.lang.NullPointerException > at > org.apache.camel.component.cxf.CxfProducer.prepareRequest(CxfProducer.java:190) > at > org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:107) > at org.apache.camel.processor.Enricher.process(Enricher.java:114) > at > org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) > at > org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:398) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:118) > at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) > at > org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:191) > at > org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:105) > at > org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:87) > at > org.apache.camel.component.cxf.CxfConsumer$1.syncInvoke(CxfConsumer.java:136) > ... 41 more -- This message was sent by Atlassian JIRA (v6.3.4#6332)