Hi,
I have defined the following routes in camel :
<!-- Receive WS message, multicast the message and provive
feedback -->
<camel:route>
<camel:from uri="cxf:bean:reportIncident" />
<!-- issue resolved 26/03/2009 -->
<camel:setHeader headerName="origin">
<camel:constant>webservice</camel:constant>
</camel:setHeader>
<camel:convertBodyTo
type="org.apache.camel.example.reportincident.InputReportIncident" />
<camel:multicast>
<camel:to uri="direct:feedbackWS"/>
<camel:to uri="direct:saveWS"/>
</camel:multicast>
</camel:route>
<!-- Send feedback to WebService -->
<camel:route>
<camel:from uri="direct:feedbackWS" />
<camel:transform>
<camel:method bean="feedback" method="setOk" />
</camel:transform>
</camel:route>
<!-- Convert WS message and put it in the queue -->
<camel:route>
<camel:from uri="direct:saveWS" />
<camel:to uri="bean:webservice" />
<camel:to uri="queuingservice:queue:in" />
</camel:route>
When calling the web service, we can see in the trace that the process
starts correctly but the multicast seems to mix the routes and a error is
generated :
17:16:08,562 | INFO | 12773...@qtp1-0 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1751-1238084114250-2-0 >>>
http://localhost:8080/camel-example/incident --> setHeader(webservice),
Pattern:InOut,
Properties:{org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo:
{http://reportincident.example.camel.apache.org}ReportIncident],
CamelCXFDataFormat=POJO}, Headers:{content-type=text/xml;charset=UTF-8,
content.type=text/xml;charset=UTF-8, operationName=ReportIncident,
Host=localhost:8080, Content-Length=640,
SOAPAction="http://reportincident.example.camel.apache.org/ReportIncident",
User-Agent=Jakarta Commons-HttpClient/3.1,
org.apache.cxf.headers.Header.list=[],
operationNameSpace=http://reportincident.example.camel.apache.org},
BodyType:org.apache.cxf.message.MessageContentsList,
Body:[org.apache.camel.example.reportincident.inputreportincid...@ea9f6e]
17:16:08,578 | INFO | 12773...@qtp1-0 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1751-1238084114250-2-0 >>> setHeader(webservice) -->
convertBodyTo(), Pattern:InOut,
Properties:{org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo:
{http://reportincident.example.camel.apache.org}ReportIncident],
CamelCXFDataFormat=POJO}, Headers:{content-type=text/xml;charset=UTF-8,
operationName=ReportIncident, content.type=text/xml;charset=UTF-8,
Host=localhost:8080, Content-Length=640,
SOAPAction="http://reportincident.example.camel.apache.org/ReportIncident",
origin=webservice, User-Agent=Jakarta Commons-HttpClient/3.1,
operationNameSpace=http://reportincident.example.camel.apache.org,
org.apache.cxf.headers.Header.list=[]},
BodyType:org.apache.cxf.message.MessageContentsList,
Body:[org.apache.camel.example.reportincident.inputreportincid...@ea9f6e]
17:16:08,578 | INFO | 12773...@qtp1-0 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1751-1238084114250-2-0 >>> convertBodyTo() --> multicast(),
Pattern:InOut,
Properties:{org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo:
{http://reportincident.example.camel.apache.org}ReportIncident],
CamelCXFDataFormat=POJO}, Headers:{content-type=text/xml;charset=UTF-8,
operationName=ReportIncident, content.type=text/xml;charset=UTF-8,
Host=localhost:8080, Content-Length=640,
SOAPAction="http://reportincident.example.camel.apache.org/ReportIncident",
origin=webservice, User-Agent=Jakarta Commons-HttpClient/3.1,
operationNameSpace=http://reportincident.example.camel.apache.org,
org.apache.cxf.headers.Header.list=[]},
BodyType:org.apache.camel.example.reportincident.InputReportIncident,
Body:org.apache.camel.example.reportincident.inputreportincid...@ea9f6e
17:16:08,593 | INFO | 12773...@qtp1-0 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1751-1238084114250-2-0 >>> multicast() -->
to(direct:feedbackWS), Pattern:InOut,
Properties:{org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo:
{http://reportincident.example.camel.apache.org}ReportIncident],
CamelCXFDataFormat=POJO}, Headers:{content-type=text/xml;charset=UTF-8,
content.type=text/xml;charset=UTF-8, operationName=ReportIncident,
Host=localhost:8080, Content-Length=640, origin=webservice,
SOAPAction="http://reportincident.example.camel.apache.org/ReportIncident",
User-Agent=Jakarta Commons-HttpClient/3.1,
org.apache.cxf.headers.Header.list=[],
operationNameSpace=http://reportincident.example.camel.apache.org},
BodyType:org.apache.camel.example.reportincident.InputReportIncident,
Body:org.apache.camel.example.reportincident.inputreportincid...@ea9f6e
17:16:08,593 | INFO | 12773...@qtp1-0 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1751-1238084114250-2-0 >>> to(direct:feedbackWS) -->
transform(), Pattern:InOut,
Properties:{org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo:
{http://reportincident.example.camel.apache.org}ReportIncident],
CamelCXFDataFormat=POJO}, Headers:{content-type=text/xml;charset=UTF-8,
content.type=text/xml;charset=UTF-8, operationName=ReportIncident,
Host=localhost:8080, Content-Length=640, origin=webservice,
SOAPAction="http://reportincident.example.camel.apache.org/ReportIncident",
User-Agent=Jakarta Commons-HttpClient/3.1,
org.apache.cxf.headers.Header.list=[],
operationNameSpace=http://reportincident.example.camel.apache.org},
BodyType:org.apache.camel.example.reportincident.InputReportIncident,
Body:org.apache.camel.example.reportincident.inputreportincid...@ea9f6e
17:16:08,625 | INFO | 12773...@qtp1-0 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1751-1238084114250-2-0 >>> transform() -->
to(direct:saveWS), Pattern:InOut,
Properties:{org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo:
{http://reportincident.example.camel.apache.org}ReportIncident],
CamelCXFDataFormat=POJO}, Headers:{content-type=text/xml;charset=UTF-8,
content.type=text/xml;charset=UTF-8, operationName=ReportIncident,
Host=localhost:8080, Content-Length=640, origin=webservice,
SOAPAction="http://reportincident.example.camel.apache.org/ReportIncident",
User-Agent=Jakarta Commons-HttpClient/3.1,
org.apache.cxf.headers.Header.list=[],
operationNameSpace=http://reportincident.example.camel.apache.org},
BodyType:org.apache.camel.example.reportincident.InputReportIncident,
Body:org.apache.camel.example.reportincident.inputreportincid...@ea9f6e
17:16:08,640 | INFO | 12773...@qtp1-0 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1751-1238084114250-2-0 >>> to(direct:saveWS) -->
to(bean:webservice), Pattern:InOut,
Properties:{org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo:
{http://reportincident.example.camel.apache.org}ReportIncident],
CamelCXFDataFormat=POJO}, Headers:{content-type=text/xml;charset=UTF-8,
content.type=text/xml;charset=UTF-8, operationName=ReportIncident,
Host=localhost:8080, Content-Length=640, origin=webservice,
SOAPAction="http://reportincident.example.camel.apache.org/ReportIncident",
User-Agent=Jakarta Commons-HttpClient/3.1,
org.apache.cxf.headers.Header.list=[],
operationNameSpace=http://reportincident.example.camel.apache.org},
BodyType:org.apache.camel.example.reportincident.InputReportIncident,
Body:org.apache.camel.example.reportincident.inputreportincid...@ea9f6e
17:16:08,671 | INFO | 12773...@qtp1-0 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1751-1238084114250-2-0 >>> to(bean:webservice) -->
to(queuingservice:queue:in), Pattern:InOut,
Properties:{CamelBeanHolder=bean: webservice,
org.apache.cxf.service.model.BindingOperationInfo=[BindingOperationInfo:
{http://reportincident.example.camel.apache.org}ReportIncident],
CamelCXFDataFormat=POJO}, BodyType:java.util.ArrayList,
Body:[{org.apache.camel.example.reportincident.model.incident=org.apache.camel.example.reportincident.model.incid...@14bbd50[
incidentId=0
incidentRef=20
incidentDate=<null>
givenName=Charles
familyName=Moulliard
summary=This is an OSGI report incident
details=nothing to say
[email protected]
phone=+352 25 10 70 470
creationUser=<null>
creationDate=<null>
]}]
17:16:08,750 | INFO | ActiveMQ Task | FailoverTransport |
sport.failover.FailoverTransport 714 | Successfully connected to
tcp://localhost:61616
17:16:09,046 | INFO | enerContainer-55 | TraceInterceptor |
rg.apache.camel.processor.Logger 88 |
ID-dell-charles-1751-1238084114250-2-1 >>> queuingservice:queue:in -->
to(bean:incidentSaver?method=process), Pattern:InOut,
Properties:{JMSReplyTo=temp-queue://ID:dell-charles-1712-1238084102453-2:1:1},
Headers:{JMSXGroupID=null,
JMSCorrelationID=ID-dell-charles-1751-1238084114250-3-0, JMSType=null,
JMSExpiration=1238084188953,
JMSMessageID=ID:dell-charles-1712-1238084102453-2:1:2:1:1,
JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4,
JMSReplyTo=temp-queue://ID:dell-charles-1712-1238084102453-2:1:1,
JMSTimestamp=1238084168953, JMSDestination=queue://in},
BodyType:java.util.ArrayList,
Body:[{org.apache.camel.example.reportincident.model.incident=org.apache.camel.example.reportincident.model.incid...@127d19d[
incidentId=0
incidentRef=20
incidentDate=<null>
givenName=Charles
familyName=Moulliard
summary=This is an OSGI report incident
details=nothing to say
[email protected]
phone=+352 25 10 70 470
creationUser=<null>
creationDate=<null>
]}]
17:16:31,250 | ERROR | 12773...@qtp1-0 | DeadLetterChannel |
rg.apache.camel.processor.Logger 207 | Failed delivery for exchangeId:
ID-dell-charles-1751-1238084114250-0-1. On delivery attempt: 0 caught:
org.apache.camel.ExchangeTimedOutException: The OUT message was not received
within: 20000 millis on the exchange: Exchange[Message:
[{org.apache.camel.example.reportincident.model.incident=org.apache.camel.example.reportincident.model.incid...@14bbd50[
incidentId=0
incidentRef=20
incidentDate=<null>
givenName=Charles
familyName=Moulliard
summary=This is an OSGI report incident
details=nothing to say
[email protected]
phone=+352 25 10 70 470
creationUser=<null>
creationDate=<null>
]}]]
org.apache.camel.ExchangeTimedOutException: The OUT message was not received
within: 20000 millis on the exchange: Exchange[Message:
[{org.apache.camel.example.reportincident.model.incident=org.apache.camel.example.reportincident.model.incid...@14bbd50[
incidentId=0
incidentRef=20
incidentDate=<null>
givenName=Charles
familyName=Moulliard
summary=This is an OSGI report incident
details=nothing to say
[email protected]
phone=+352 25 10 70 470
creationUser=<null>
creationDate=<null>
]}]]
at
org.apache.camel.component.jms.JmsProducer.process(JmsProducer.java:269)
at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:69)
at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:49)
at
org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:78)
at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:115)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:80)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:83)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:78)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:204)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:145)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:55)
at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:49)
at
org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:78)
at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:115)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:86)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:78)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:70)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:65)
at
org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:47)
at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:69)
at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:49)
at
org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:78)
at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:115)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:86)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:78)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:68)
at
org.apache.camel.processor.MulticastProcessor.process(MulticastProcessor.java:191)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:86)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:78)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:68)
at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:49)
at
org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:78)
at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:115)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:80)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:83)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:78)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:204)
at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:145)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:115)
at org.apache.camel.processor.Pipeline.process(Pipeline.java:89)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
at
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:55)
at
org.apache.camel.processor.DelegateProcessor.processNext(DelegateProcessor.java:49)
at
org.apache.camel.processor.DelegateProcessor.proceed(DelegateProcessor.java:78)
at
org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:115)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:86)
at
org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:78)
at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:65)
at
org.apache.camel.component.cxf.CxfConsumer$1.invoke(CxfConsumer.java:85)
at
org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:57)
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:95)
at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
at
org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:89)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.serviceRequest(JettyHTTPDestination.java:302)
at
org.apache.cxf.transport.http_jetty.JettyHTTPDestination.doService(JettyHTTPDestination.java:265)
at
org.apache.cxf.transport.http_jetty.JettyHTTPHandler.handle(JettyHTTPHandler.java:70)
at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
at
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
Where is the problem ?
Regards,
-----
Charles Moulliard
SOA Architect
My Blog : http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/
--
View this message in context:
http://www.nabble.com/Camel-2.0---Multicast-issue----tp22725597p22725597.html
Sent from the Camel - Users mailing list archive at Nabble.com.