Project: talendesb
Issue TESB-6700: Routes deployed in container do not accept correct message
We are faced with the situation that our route related nightly system tests (using cCXF component to "proxy" a message between a consumer and a provider) are failing with the following exception (on point in which the message arrives the "provider side" of the route, hence the left side cCXF component): {noformat} 07:00:34,127 | ERROR | tp1173184527-286 | rg.apache.camel.util.CamelLogger 215 | 161 - org.apache.camel.camel-core - 2.9.3.SNAPSHOT | Failed delivery for (MessageId: ID-sop-td81-servicebackbone-org-60099-1344315609601-0-2 on ExchangeId: ID-sop-td81-servicebackbone-org-60099-1344315609601-0-1). Exhausted after delivery attempt: 1 caught: java.lang.IllegalArgumentException: The PayLoad elements cannot fit with the message parts of the BindingOperation. Please check the BindingOperation and PayLoadMessage. java.lang.IllegalArgumentException: The PayLoad elements cannot fit with the message parts of the BindingOperation. Please check the BindingOperation and PayLoadMessage. org.apache.camel.component.cxf.CxfEndpoint$CamelCxfClientImpl.setParameters(CxfEndpoint.java:876)[166:org.apache.camel.camel-cxf:2.9.3.SNAPSHOT] org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:511)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:457)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.camel.component.cxf.CxfProducer.process(CxfProducer.java:113)[166:org.apache.camel.camel-cxf:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:115)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:285)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.SendProcessor.process(SendProcessor.java:110)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:330)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:304)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.Pipeline.process(Pipeline.java:117)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.Pipeline.process(Pipeline.java:80)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:45)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:50)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:71)[161:org.apache.camel.camel-core:2.9.3.SNAPSHOT] org.apache.camel.component.cxf.CxfConsumer$1.asyncInvoke(CxfConsumer.java:88)[166:org.apache.camel.camel-cxf:2.9.3.SNAPSHOT] org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:68)[166:org.apache.camel.camel-cxf:2.9.3.SNAPSHOT] org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)[:1.7.0_05] java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)[:1.7.0_05] java.util.concurrent.FutureTask.run(FutureTask.java:166)[:1.7.0_05] org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:107)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)[110:org.apache.cxf.cxf-api:2.6.2.SNAPSHOT] org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:348)[132:org.apache.cxf.cxf-rt-transports-http-jetty:2.6.2.SNAPSHOT] org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:312)[132:org.apache.cxf.cxf-rt-transports-http-jetty:2.6.2.SNAPSHOT] org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:72)[132:org.apache.cxf.cxf-rt-transports-http-jetty:2.6.2.SNAPSHOT] org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:943)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:879)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:117)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:250)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:110)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.Server.handle(Server.java:349)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.HttpConnection.handleRequest(HttpConnection.java:441)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.server.HttpConnection$RequestHandler.content(HttpConnection.java:936)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:801)[56:org.eclipse.jetty.http:7.5.4.v20111024] org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:224)[56:org.eclipse.jetty.http:7.5.4.v20111024] org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:51)[60:org.eclipse.jetty.server:7.5.4.v20111024] org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:586)[55:org.eclipse.jetty.io:7.5.4.v20111024] org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:44)[55:org.eclipse.jetty.io:7.5.4.v20111024] org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:598)[54:org.eclipse.jetty.util:7.5.4.v20111024] org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:533)[54:org.eclipse.jetty.util:7.5.4.v20111024] java.lang.Thread.run(Thread.java:722)[:1.7.0_05] {noformat} If we start the same route in studio -- it works correctly. We have not changed the test messages we are using in system test. It was working well before. Some details about the route configuration we use: - message format: payload - wsdl is specified as "file" type and taken from url to wsdl of service which used by route as destination. I'm attaching simple example which reproduces the problem. - example_project.zip : contains wsdl, xml with model, standalone runners for provider and consumer - RouteStandardTestServiceProxy_0.4.kar : compiled route which could be used for reproducing - route_model.zip : items exported from studio
Story points: 2