FYI, I just filled a JIRA[1] for it, the patch is committed into the trunk.

[1]https://issues.apache.org/jira/browse/CAMEL-6092  

--  
Willem Jiang

Red Hat, Inc.
FuseSource is now part of Red Hat
Web: http://www.fusesource.com | http://www.redhat.com
Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) 
(English)
          http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem





On Thursday, February 21, 2013 at 11:39 AM, Willem jiang wrote:

> Hi,
>  
> If you just want to send the response to the queue, you need to change the 
> MEP (message exchange pattern) to InOnly, otherwise camel-jms producer will 
> complain about it cannot get the right response on time.  
>  
> BTW, we need to set the MEP according to the request we got in the camel-cxf 
> consumer.  
>  
> --  
> Willem Jiang
>  
> Red Hat, Inc.
> FuseSource is now part of Red Hat
> Web: http://www.fusesource.com | http://www.redhat.com
> Blog: http://willemjiang.blogspot.com (http://willemjiang.blogspot.com/) 
> (English)
> http://jnn.iteye.com (http://jnn.javaeye.com/) (Chinese)
> Twitter: willemjiang  
> Weibo: 姜宁willem
>  
>  
>  
>  
>  
> On Thursday, February 21, 2013 at 11:26 AM, Gnanaguru S wrote:
>  
> > Hi,  
> >  
> > I am creating a camel application, where the client sends the SOAP request
> > to the CXF endpoint and the response should be sent to an JMS endpoint.  
> >  
> > I am getting a error and the message moves to the DLQ. Is that because CXF
> > endpoint itselfs expects the response.  
> >  
> > I think, I have done a logical mistake. Please help.  
> >  
> > *This is my flow:*
> >  
> > private String uri = "cxf:/incident?serviceClass=" +
> > IncidentService.class.getName();
> >  
> > @Override
> > public void configure() throws Exception {
> > from(uri)
> > .to("log:input")
> > // send the request to the route to handle the operation
> > // the name of the operation is in that header
> > .recipientList(simple("direct:${header.operationName}"));
> >  
> > // report incident
> > from("direct:reportIncident")
> > .process(new Processor() {
> > public void process(Exchange exchange) throws Exception {
> > // get the id of the input
> > String id =
> > exchange.getIn().getBody(InputReportIncident.class).getIncidentId();
> >  
> > // set reply including the id
> > OutputReportIncident output = new
> > OutputReportIncident();
> > output.setCode("OK;" + id);
> > exchange.getOut().setBody(output);
> > }
> > })
> > //JMS Endpoint
> > .to("activemq:queue:outputqueue");
> >  
> >  
> > *Error log:*
> >  
> > 19:16:11,197 ERROR [org.apache.camel.processor.DefaultErrorHandler] (Camel
> > (came
> > l-1) thread #1 - JmsReplyManagerTimeoutChecker[outputqueue]) Failed delivery
> > for
> > (MessageId: ID-L-156023234-51655-1361367500234-0-5 on ExchangeId:
> > ID-L-15602323
> > 4-51655-1361367500234-0-3). Exhausted after delivery attempt: 1 caught:
> > org.apac
> > he.camel.ExchangeTimedOutException: The OUT message was not received within:
> > 200
> > 00 millis due reply message with correlationID:
> > ID-L-156023234-51655-13613675002
> > 34-0-4 not received. Exchange[Message:
> > org.apache.camel.example.cxf.incident.Out
> > putReportIncident@747ba5]: org.apache.camel.ExchangeTimedOutException: The
> > OUT m
> > essage was not received within: 20000 millis due reply message with
> > correlationI
> > D: ID-L-156023234-51655-1361367500234-0-4 not received. Exchange[Message:
> > org.ap
> > ache.camel.example.cxf.incident.OutputReportIncident@747ba5]
> > at
> > org.apache.camel.component.jms.reply.ReplyManagerSupport.processReply
> > (ReplyManagerSupport.java:133) [camel-jms-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.component.jms.reply.TemporaryQueueReplyHandler.onTim
> > eout(TemporaryQueueReplyHandler.java:61) [camel-jms-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.component.jms.reply.CorrelationTimeoutMap.onEviction
> > (CorrelationTimeoutMap.java:53) [camel-jms-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.component.jms.reply.CorrelationTimeoutMap.onEviction
> > (CorrelationTimeoutMap.java:30) [camel-jms-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.support.DefaultTimeoutMap.purge(DefaultTimeoutMap.ja
> > va:203) [camel-core-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.support.DefaultTimeoutMap.run(DefaultTimeoutMap.java
> > :159) [camel-core-2.10.0.jar:2.10.0]
> > at
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:44
> > 1) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java
> > :317) [rt.jar:1.6.0_17]
> > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> > [rt.
> > jar:1.6.0_17]
> > at
> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
> > access$101(ScheduledThreadPoolExecutor.java:98) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
> > runPeriodic(ScheduledThreadPoolExecutor.java:181) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
> > run(ScheduledThreadPoolExecutor.java:205) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> > utor.java:886) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> > .java:908) [rt.jar:1.6.0_17]
> > at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_17]
> >  
> > 19:16:11,200 WARN [org.apache.cxf.phase.PhaseInterceptorChain]
> > (http--127.0.0.1
> > -8080-1) Interceptor for
> > {http://incident.cxf.example.camel.apache.org/}Incident
> > Service#{http://incident.cxf.example.camel.apache.org/}reportIncident has
> > thrown
> > exception, unwinding now: org.apache.cxf.interceptor.Fault: The OUT message
> > was
> > not received within: 20000 millis due reply message with correlationID:
> > ID-L-15
> > 6023234-51655-1361367500234-0-4 not received. Exchange[Message:
> > org.apache.camel
> > .example.cxf.incident.OutputReportIncident@747ba5]
> > at
> > org.apache.camel.component.cxf.CxfConsumer$1.checkFailure(CxfConsumer
> > .java:194) [camel-cxf-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.component.cxf.CxfConsumer$1.setResponseBack(CxfConsu
> > mer.java:174) [camel-cxf-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.component.cxf.CxfConsumer$1.syncInvoke(CxfConsumer.j
> > ava:126) [camel-cxf-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:
> > 71) [camel-cxf-2.10.0.jar:2.10.0]
> > at
> > org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInv
> > okerInterceptor.java:58) [cxf-api-2.6.1.jar:2.6.1]
> > at
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:44
> > 1) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303) [r
> > t.jar:1.6.0_17]
> > at java.util.concurrent.FutureTask.run(FutureTask.java:138)
> > [rt.jar:1.6.
> > 0_17]
> > at
> > org.apache.cxf.workqueue.SynchronousExecutor.execute(SynchronousExecu
> > tor.java:37) [cxf-api-2.6.1.jar:2.6.1]
> > at
> > org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(Se
> > rviceInvokerInterceptor.java:107) [cxf-api-2.6.1.jar:2.6.1]
> > at
> > org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseIntercept
> > orChain.java:262) [cxf-api-2.6.1.jar:2.6.1]
> > at
> > org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainIniti
> > ationObserver.java:122) [cxf-api-2.6.1.jar:2.6.1]
> > at
> > org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(Abstract
> > HTTPDestination.java:211) [cxf-rt-transports-http-2.6.1.jar:2.6.1]
> > at
> > org.apache.cxf.transport.servlet.ServletController.invokeDestination(
> > ServletController.java:213) [cxf-rt-transports-http-2.6.1.jar:2.6.1]
> > at
> > org.apache.cxf.transport.servlet.ServletController.invoke(ServletCont
> > roller.java:193) [cxf-rt-transports-http-2.6.1.jar:2.6.1]
> > at
> > org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpr
> > ingServlet.java:129) [cxf-rt-transports-http-2.6.1.jar:2.6.1]
> > at
> > org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(Ab
> > stractHTTPServlet.java:187) [cxf-rt-transports-http-2.6.1.jar:2.6.1]
> > at
> > org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractH
> > TTPServlet.java:110) [cxf-rt-transports-http-2.6.1.jar:2.6.1]
> > at javax.servlet.http.HttpServlet.service(HttpServlet.java:754)
> > [jboss-s
> > ervlet-api_3.0_spec-1.0.0.Final.jar:1.0.0.Final]
> > at
> > org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(Abstract
> > HTTPServlet.java:166) [cxf-rt-transports-http-2.6.1.jar:2.6.1]
> > at
> > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
> > icationFilterChain.java:329) [jbossweb-7.0.13.Final.jar:]
> > at
> > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
> > ilterChain.java:248) [jbossweb-7.0.13.Final.jar:]
> > at
> > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
> > alve.java:275) [jbossweb-7.0.13.Final.jar:]
> > at
> > org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
> > alve.java:161) [jbossweb-7.0.13.Final.jar:]
> > at
> > org.jboss.as.web.security.SecurityContextAssociationValve.invoke 
> > (http://web.security.SecurityContextAssociationValve.invoke)(Secu
> > rityContextAssociationValve.java:153)
> > [jboss-as-web-7.1.1.Final.jar:7.1.1.Final]
> >  
> > at
> > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
> > ava:155) [jbossweb-7.0.13.Final.jar:]
> > at
> > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
> > ava:102) [jbossweb-7.0.13.Final.jar:]
> > at
> > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
> > ve.java:109) [jbossweb-7.0.13.Final.jar:]
> > at
> > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
> > a:368) [jbossweb-7.0.13.Final.jar:]
> > at
> > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
> > :877) [jbossweb-7.0.13.Final.jar:]
> > at
> > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
> > ss(Http11Protocol.java:671) [jbossweb-7.0.13.Final.jar:]
> > at
> > org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:93
> > 0) [jbossweb-7.0.13.Final.jar:]
> > at java.lang.Thread.run(Thread.java:619) [rt.jar:1.6.0_17]
> > Caused by: org.apache.camel.ExchangeTimedOutException: The OUT message was
> > not r
> > eceived within: 20000 millis due reply message with correlationID:
> > ID-L-15602323
> > 4-51655-1361367500234-0-4 not received. Exchange[Message:
> > org.apache.camel.examp
> > le.cxf.incident.OutputReportIncident@747ba5]
> > at
> > org.apache.camel.component.jms.reply.ReplyManagerSupport.processReply
> > (ReplyManagerSupport.java:133) [camel-jms-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.component.jms.reply.TemporaryQueueReplyHandler.onTim
> > eout(TemporaryQueueReplyHandler.java:61) [camel-jms-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.component.jms.reply.CorrelationTimeoutMap.onEviction
> > (CorrelationTimeoutMap.java:53) [camel-jms-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.component.jms.reply.CorrelationTimeoutMap.onEviction
> > (CorrelationTimeoutMap.java:30) [camel-jms-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.support.DefaultTimeoutMap.purge(DefaultTimeoutMap.ja
> > va:203) [camel-core-2.10.0.jar:2.10.0]
> > at
> > org.apache.camel.support.DefaultTimeoutMap.run(DefaultTimeoutMap.java
> > :159) [camel-core-2.10.0.jar:2.10.0]
> > at
> > java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:44
> > 1) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.FutureTask$Sync.innerRunAndReset(FutureTask.java
> > :317) [rt.jar:1.6.0_17]
> > at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:150)
> > [rt.
> > jar:1.6.0_17]
> > at
> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
> > access$101(ScheduledThreadPoolExecutor.java:98) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
> > runPeriodic(ScheduledThreadPoolExecutor.java:181) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.
> > run(ScheduledThreadPoolExecutor.java:205) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExec
> > utor.java:886) [rt.jar:1.6.0_17]
> > at
> > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor
> > .java:908) [rt.jar:1.6.0_17]
> > ... 1 more
> >  
> >  
> >  
> > Regards
> > Guru
> > @gnanagurus
> >  
> >  
> >  
> >  
> >  
> > --
> > View this message in context: 
> > http://camel.465427.n5.nabble.com/One-way-request-Camel-CXF-tp5727920.html
> > Sent from the Camel - Users mailing list archive at Nabble.com 
> > (http://Nabble.com).
>  



Reply via email to