Hi Willem Here is the tar file.
http://camel.465427.n5.nabble.com/file/n4538980/camel-cxf-tomcat-problem.tar camel-cxf-tomcat-problem.tar The log (snipped) reads as follows: 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.CxfConsumer - Received CXF Request: {org.apache.cxf.service.Service=[ServiceImpl {http://www.test.com}TestPortService], javax.xml.ws.wsdl.port={http://www.test.com}TestPortPort, javax.xml.ws.wsdl.interface={http://www.test.com}TestPort, org.apache.cxf.service.model.OperationInfo=[OperationInfo: {http://www.test.com}handleTwoArgs], java.util.concurrent.Executor=org.apache.cxf.workqueue.SynchronousExecutor@bb1bc4, javax.xml.ws.wsdl.description=http://localhost:8080/camel-cxf-tomcat-problem-1.0.0/webservices/test?wsdl, org.apache.cxf.Bus=org.apache.cxf.bus.CXFBusImpl@1396ef7, javax.xml.ws.wsdl.service={http://www.test.com}TestPortService, org.apache.cxf.binding.Binding=org.apache.cxf.binding.soap.SoapBinding@1bfefb, org.apache.cxf.endpoint.Endpoint={}, org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo: {http://www.test.com}handleTwoArgs]} 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.CxfConsumer - Calling the Camel sync processors. 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.CxfConsumer - Set exchange property: BindingOperationInfo: [BindingOperationInfo: {http://www.test.com}handleTwoArgs] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.CxfConsumer - Set Exchange property: org.apache.camel.component.cxf.DataFormat=POJO 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Set IN header: operationNamespace=http://www.test.com 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Set IN header: operationName=handleTwoArgs 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Set exchange MEP: InOut 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Populate header from CXF header=content-type value=[text/xml;charset=UTF-8] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Populate header from CXF header=host value=[localhost:8080] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Populate header from CXF header=SOAPAction value=[""] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Populate header from CXF header=user-agent value=[Jakarta Commons-HttpClient/3.1] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Populate header from CXF header=accept-encoding value=[gzip,deflate] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Populate header from CXF header=Content-Type value=[text/xml;charset=UTF-8] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.CxfHeaderFilterStrategy - messageHeaderfilter = org.apache.camel.component.cxf.SoapMessageHeaderFilter@146ac5a 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Populate header from CXF header=org.apache.cxf.headers.Header.list value=[] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Content format=interface org.w3c.dom.Node value=[#document: null] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Content format=interface java.util.List value=[foo, 1] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Content format=class java.io.InputStream value=org.apache.cxf.transport.http.AbstractHTTPDestination$1@bf9a12 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Content format=class org.apache.cxf.io.DelegatingInputStream value=org.apache.cxf.transport.http.AbstractHTTPDestination$1@bf9a12 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Content format=interface javax.xml.stream.XMLStreamReader value=com.ctc.wstx.sr.ValidatingStreamReader@11c248a 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.DefaultCxfBinding - Extracted body from CXF message = [foo, 1] 2011-06-30 15:06:04,504 [http-8080-1] TRACE component.cxf.CxfConsumer - Processing +++ START +++ 2011-06-30 15:06:04,505 [http-8080-1] TRACE camel.impl.DefaultUnitOfWork - UnitOfWork created for ExchangeId: ID-CZC107DGDF-41901-1309442727732-0-3 with Exchange[Message: [foo, 1]] 2011-06-30 15:06:04,505 [http-8080-1] TRACE camel.impl.DefaultInflightRepository - Total 1 inflight exchanges. Last added: ID-CZC107DGDF-41901-1309442727732-0-3 2011-06-30 15:06:04,505 [http-8080-1] DEBUG camel.processor.SendProcessor - >>>> Endpoint[bean://TestWebServiceImpl?method=handleTwoArgs] Exchange[Message: [foo, 1]] 2011-06-30 15:06:04,505 [http-8080-1] TRACE impl.converter.DefaultTypeConverter - Converting com.test.webservice.TestWebServiceImpl -> org.apache.camel.Processor with value: com.test.webservice.TestWebServiceImpl@39471b 2011-06-30 15:06:04,505 [http-8080-1] TRACE impl.converter.DefaultTypeConverter - Converting org.apache.cxf.message.MessageContentsList -> org.apache.camel.component.bean.BeanInvocation with value: [foo, 1] 2011-06-30 15:06:04,505 [http-8080-1] TRACE cxf.converter.CxfConverter - CXF fallback type converter invoked : converting org.apache.cxf.message.MessageContentsList to org.apache.camel.component.bean.BeanInvocation 2011-06-30 15:06:04,505 [http-8080-1] TRACE cxf.converter.CxfConverter - CXF fallback type converter returning void type (value cannot be converted) 2011-06-30 15:06:04,505 [http-8080-1] TRACE impl.converter.DefaultTypeConverter - Converting org.apache.camel.impl.DefaultMessage -> org.apache.camel.component.bean.BeanInvocation with value: Message: [foo, 1] 2011-06-30 15:06:04,505 [http-8080-1] TRACE cxf.converter.CxfConverter - CXF fallback type converter invoked : converting org.apache.camel.impl.DefaultMessage to org.apache.camel.component.bean.BeanInvocation 2011-06-30 15:06:04,505 [http-8080-1] TRACE cxf.converter.CxfConverter - CXF type not assignable; returning null 2011-06-30 15:06:04,506 [http-8080-1] TRACE component.bean.BeanConverter - Bean type converter invoked : converting org.apache.camel.impl.DefaultMessage to org.apache.camel.component.bean.BeanInvocation 2011-06-30 15:06:04,506 [http-8080-1] TRACE component.bean.BeanConverter - Bean type not assignable; returning null 2011-06-30 15:06:04,506 [http-8080-1] TRACE component.bean.BeanInfo - Chosen method to invoke: public java.lang.String com.test.webservice.TestWebServiceImpl.handleTwoArgs(java.lang.String,int) on bean: com.test.webservice.TestWebServiceImpl@39471b 2011-06-30 15:06:04,506 [http-8080-1] TRACE impl.converter.DefaultTypeConverter - Converting org.apache.cxf.message.MessageContentsList -> org.apache.camel.component.bean.BeanInvocation with value: [foo, 1] 2011-06-30 15:06:04,506 [http-8080-1] TRACE cxf.converter.CxfConverter - CXF fallback type converter invoked : converting org.apache.cxf.message.MessageContentsList to org.apache.camel.component.bean.BeanInvocation 2011-06-30 15:06:04,506 [http-8080-1] TRACE cxf.converter.CxfConverter - CXF fallback type converter returning void type (value cannot be converted) 2011-06-30 15:06:04,506 [http-8080-1] TRACE impl.converter.DefaultTypeConverter - Converting org.apache.camel.impl.DefaultMessage -> org.apache.camel.component.bean.BeanInvocation with value: Message: [foo, 1] 2011-06-30 15:06:04,506 [http-8080-1] TRACE cxf.converter.CxfConverter - CXF fallback type converter invoked : converting org.apache.camel.impl.DefaultMessage to org.apache.camel.component.bean.BeanInvocation 2011-06-30 15:06:04,506 [http-8080-1] TRACE cxf.converter.CxfConverter - CXF type not assignable; returning null 2011-06-30 15:06:04,506 [http-8080-1] TRACE component.bean.BeanConverter - Bean type converter invoked : converting org.apache.camel.impl.DefaultMessage to org.apache.camel.component.bean.BeanInvocation 2011-06-30 15:06:04,506 [http-8080-1] TRACE component.bean.BeanConverter - Bean type not assignable; returning null 2011-06-30 15:06:04,506 [http-8080-1] TRACE impl.converter.DefaultTypeConverter - Converting org.apache.cxf.message.MessageContentsList -> java.lang.String with value: [foo, 1] 2011-06-30 15:06:04,507 [http-8080-1] TRACE cxf.converter.CxfConverter - CXF fallback type converter invoked : converting org.apache.cxf.message.MessageContentsList to java.lang.String 2011-06-30 15:06:04,507 [http-8080-1] INFO cxf.converter.CxfConverter - CXF fallback type converter returning param #1 2011-06-30 15:06:04,507 [http-8080-1] TRACE impl.converter.DefaultTypeConverter - Fallback type converter StaticMethodFallbackTypeConverter: public static java.lang.Object org.apache.camel.component.cxf.converter.CxfConverter.convertTo(java.lang.Class,org.apache.camel.Exchange,java.lang.Object,org.apache.camel.spi.TypeConverterRegistry) converted type from: java.lang.String to: org.apache.cxf.message.MessageContentsList 2011-06-30 15:06:04,507 [http-8080-1] TRACE impl.converter.DefaultTypeConverter - Converting java.lang.String -> java.lang.Object with value: foo 2011-06-30 15:06:04,507 [http-8080-1] TRACE impl.converter.DefaultTypeConverter - Converting java.lang.String -> java.lang.String with value: foo 2011-06-30 15:06:04,507 [http-8080-1] TRACE component.bean.MethodInfo - Parameter #0 evaluated as: foo type: class java.lang.String 2011-06-30 15:06:04,507 [http-8080-1] TRACE component.bean.MethodInfo - >>>> invoking: public java.lang.String com.test.webservice.TestWebServiceImpl.handleTwoArgs(java.lang.String,int) on bean: com.test.webservice.TestWebServiceImpl@39471b with arguments: {foo, null} for exchange: Exchange[Message: [foo, 1]] 2011-06-30 15:06:04,507 [http-8080-1] TRACE camel.management.InstrumentationProcessor - to: Recording duration: 2 millis for exchange: Exchange[Message: [foo, 1]] 2011-06-30 15:06:04,507 [http-8080-1] TRACE camel.management.InstrumentationProcessor - route: Recording duration: 2 millis for exchange: Exchange[Message: [foo, 1]] 2011-06-30 15:06:04,507 [http-8080-1] TRACE camel.impl.DefaultUnitOfWork - UnitOfWork done for ExchangeId: ID-CZC107DGDF-41901-1309442727732-0-3 with Exchange[Message: [foo, 1]] 2011-06-30 15:06:04,507 [http-8080-1] TRACE camel.impl.DefaultInflightRepository - Total 0 inflight exchanges. Last removed: ID-CZC107DGDF-41901-1309442727732-0-3 2011-06-30 15:06:04,507 [http-8080-1] TRACE camel.util.AsyncProcessorHelper - Exchange processed and is continued routed synchronously for exchangeId: ID-CZC107DGDF-41901-1309442727732-0-3 -> Exchange[Message: [foo, 1]] 2011-06-30 15:06:04,507 [http-8080-1] TRACE camel.util.AsyncProcessorHelper - Exchange processed and is continued routed synchronously for exchangeId: ID-CZC107DGDF-41901-1309442727732-0-3 -> Exchange[Message: [foo, 1]] 2011-06-30 15:06:04,507 [http-8080-1] TRACE camel.util.AsyncProcessorHelper - Exchange processed and is continued routed synchronously for exchangeId: ID-CZC107DGDF-41901-1309442727732-0-3 -> Exchange[Message: [foo, 1]] 2011-06-30 15:06:04,507 [http-8080-1] TRACE camel.util.AsyncProcessorHelper - Exchange processed and is continued routed synchronously for exchangeId: ID-CZC107DGDF-41901-1309442727732-0-3 -> Exchange[Message: [foo, 1]] 2011-06-30 15:06:04,507 [http-8080-1] TRACE component.cxf.CxfConsumer - Processing +++ END +++ 30-Jun-2011 15:06:04 org.apache.cxf.phase.PhaseInterceptorChain doDefaultLogging WARNING: Interceptor for {http://www.test.com}TestPortService#{http://www.test.com}handleTwoArgs has thrown exception, unwinding now org.apache.cxf.interceptor.Fault: IllegalArgumentException at org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer.java:219) at org.apache.camel.component.cxf.CxfConsumer$1.setResponseBack(CxfConsumer.java:196) at org.apache.camel.component.cxf.CxfConsumer$1.syncInvoke(CxfConsumer.java:143) at org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:78) at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecutor.java:37) at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:106) at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255) at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:113) at org.apache.cxf.transport.servlet.ServletDestination.invoke(ServletDestination.java:97) at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:461) at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:188) at org.apache.cxf.transport.servlet.AbstractCXFServlet.invoke(AbstractCXFServlet.java:148) at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:179) at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:103) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:159) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447) at java.lang.Thread.run(Thread.java:662) Caused by: java.lang.IllegalArgumentException 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.component.bean.MethodInfo.invoke(MethodInfo.java:322) at org.apache.camel.component.bean.MethodInfo$1.proceed(MethodInfo.java:224) at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:167) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91) at org.apache.camel.component.bean.BeanProcessor.process(BeanProcessor.java:74) at org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:102) at org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:72) at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:50) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) at org.apache.camel.processor.SendProcessor$2.doInAsyncProducer(SendProcessor.java:104) at org.apache.camel.impl.ProducerCache.doInAsyncProducer(ProducerCache.java:272) at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:98) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:99) at org.apache.camel.processor.DefaultChannel.process(DefaultChannel.java:269) at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:102) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:70) at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:98) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:89) at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:91) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:85) at org.apache.camel.component.cxf.CxfConsumer$1.syncInvoke(CxfConsumer.java:136) ... 29 more -- View this message in context: http://camel.465427.n5.nabble.com/camel-cxf-in-tomcat-cannot-process-multiple-parameters-tp4538511p4538980.html Sent from the Camel - Users mailing list archive at Nabble.com.