You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by cmoulliard <cm...@gmail.com> on 2009/03/26 17:29:27 UTC

Camel 2.0 - Multicast issue ??

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  | 12773899@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.InputReportIncident@ea9f6e]

17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e]

17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e

17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e

17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e

17:16:08,625 | INFO  | 12773899@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.InputReportIncident@ea9f6e

17:16:08,640 | INFO  | 12773899@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.InputReportIncident@ea9f6e

17:16:08,671 | INFO  | 12773899@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.Incident@14bbd50[
  incidentId=0
  incidentRef=20
  incidentDate=<null>
  givenName=Charles
  familyName=Moulliard
  summary=This is an OSGI report incident
  details=nothing to say
  email=cmoulliard@xpectis.com
  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.Incident@127d19d[
  incidentId=0
  incidentRef=20
  incidentDate=<null>
  givenName=Charles
  familyName=Moulliard
  summary=This is an OSGI report incident
  details=nothing to say
  email=cmoulliard@xpectis.com
  phone=+352 25 10 70 470
  creationUser=<null>
  creationDate=<null>
]}]
17:16:31,250 | ERROR | 12773899@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.Incident@14bbd50[
  incidentId=0
  incidentRef=20
  incidentDate=<null>
  givenName=Charles
  familyName=Moulliard
  summary=This is an OSGI report incident
  details=nothing to say
  email=cmoulliard@xpectis.com
  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.Incident@14bbd50[
  incidentId=0
  incidentRef=20
  incidentDate=<null>
  givenName=Charles
  familyName=Moulliard
  summary=This is an OSGI report incident
  details=nothing to say
  email=cmoulliard@xpectis.com
  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.


Re: Camel 2.0 - Multicast issue ??

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Sorry the people that uses gmail, that is an nice mail app, do not see
the quotes as it filter them by default.
And show you only the relevant part.


On Fri, Mar 27, 2009 at 10:56 AM, Gary Jones <ac...@garydjones.name> wrote:
> [Huuuuge snip]
>
> Can we try to keep the noise down, please? That last email was 1120
> lines, over 1100 of which were just quoted text from the previous half
> dozen emails or so, all of which are in the archives if anyone needs to
> refer back to them and doesn't have them locally.
>
> "Be brief without being overly terse. When replying to a message,
> include enough original material to be understood but no more. It is
> extremely bad form to simply reply to a message by including all the
> previous message: edit out all the irrelevant material."
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: Camel 2.0 - Multicast issue ??

Posted by Gary Jones <ac...@garydjones.name>.
[Huuuuge snip]

Can we try to keep the noise down, please? That last email was 1120
lines, over 1100 of which were just quoted text from the previous half
dozen emails or so, all of which are in the archives if anyone needs to
refer back to them and doesn't have them locally.

"Be brief without being overly terse. When replying to a message,
include enough original material to be understood but no more. It is
extremely bad form to simply reply to a message by including all the
previous message: edit out all the irrelevant material."

Re: Camel 2.0 - Multicast issue ??

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

Just for to record. I create 2 tickets for these. CAMEL-1494, CAMEL-1495

2009/3/27 Claus Ibsen <cl...@gmail.com>:
> Hi
>
> You can use the wireTap for fire and forget style DSL.
>
> 1)
> However I currently does not support specifying multiple destinations
> in one line.
>
> 2)
> However I was wondering if we could improve the logic in multicast to
> inspect the MEP and if not Out capable it should not wait/expect a
> response.
> Might be not east to do.
>
>
>
> 2009/3/27 cmoulliard <cm...@gmail.com>:
>>
>> Hi Willem,
>>
>> Many thanks.
>>
>> By the way, It should be interesting to have a real parallel DSL word in the
>> camel syntax for simple case like this.
>>
>> The route could be written with the assumption that no OUT message is waited
>> by the calling process
>>
>> e.g.
>>
>> <from uri="">
>> ...
>> <!-- at this point we don't wait any OUT message from endpoints called, our
>> strategy is pure
>>      FIRE/FORGET -->
>> <parallel>
>>   <to uri="direct:feedbackWS"/>
>>   <to uri="direct:saveWS"/>
>> </parrallel>
>>
>> An extension of this could be that parallel does not receive OUT message but
>> properties or headers like e.g. parallelName="feedbackWS",
>> status="processed" and we could provide a timer as a property.
>>
>> <parallel timer="180" feedbackRequested="true">
>> ...
>> </parallel>
>>
>> If one of the parallel process does not finish until the period defined by
>> the timer, then the parallel process generates errors.
>>
>> regards,
>>
>> Charles
>>
>>
>>
>>
>> willem.jiang wrote:
>>>
>>> Hi Charles,
>>>
>>> Camel multicast supports to send the exchange parallely.
>>> You just need to set the customer aggregation strategy to return a right
>>> exchange for aggregation like this, since we don't when the bean's
>>> exchange is returned.
>>>
>>> public class MyCustomerAggregationStrategy implements AggregationStrategy
>>> {
>>>     // only return the exchage which has the out message
>>>     public Exchange aggregate(Exchange oldExchange, Exchange newExchange)
>>> {
>>>         if (oldExchange.getOutMessage(false)!= null) {
>>>            return oldExchange;
>>>         } else {
>>>            return newExchange;
>>>         }
>>>     }
>>> }
>>>
>>> Willem
>>>
>>>
>>>
>>> cmoulliard wrote:
>>>> Many thanks Willem. In fact, I tried to use the multicast as a workaround
>>>> because I was blocked to call directly the bean:feedback after the step
>>>> converting the content of WS into InputReportIncident. I have the same
>>>> problem as we have with the setHeader that you solved
>>>>
>>>> remark : In my case, it could be more interesting to send in parallel the
>>>> same message to two different endpoints (direct:feedbackWS and
>>>> direct:saveWS).
>>>>
>>>> Nevertheless, I will try to adapt my multicast routes as you propose (put
>>>> the "direct:feedbackWS" to the last endpoint) but for the moment I don't
>>>> how
>>>> to achieve this.
>>>>
>>>> Regards,
>>>>
>>>> Charles
>>>>
>>>> So I will try to
>>>>
>>>> willem.jiang wrote:
>>>>> Hi Charles,
>>>>>
>>>>> If you used the multicast for the InOut Message, Camel will try to
>>>>> aggregate the exchange for the out message processing and the default
>>>>> aggregation strategy is using the last exchange.
>>>>>
>>>>> You need to adjust the multicast endpoints in your Spring configuration
>>>>> file, and put the "direct:feedbackWS" to the last endpoint, or you can
>>>>> specify your own aggregation strategy in the multicast.
>>>>>
>>>>> You can find more examples about how to use multicast in the LoanBroker
>>>>> Example[1] of Camel.
>>>>>
>>>>> [1]http://cwiki.apache.org/CAMEL/loan-broker-example.html#LoanBrokerExample-Implementationwithwebservice
>>>>>
>>>>> Willem
>>>>>
>>>>>
>>>>>
>>>>> cmoulliard wrote:
>>>>>> To solve the error returned and as proposed by Claus, I have modified
>>>>>> my
>>>>>> route like this
>>>>>>
>>>>>> <camel:inOnly uri="queuingservice:queue:in" />
>>>>>>
>>>>>> Nevertheless, the multicast does not work as we can in the log here :
>>>>>>
>>>>>> 17:38:34,250 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>>
>>>>>> 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.InputReportIncident@250f55]
>>>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55]
>>>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>>> 17:38:34,296 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>>> 17:38:34,312 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> to(bean:webservice) -->
>>>>>> inOnly(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.Incident@e22502[
>>>>>>   incidentId=0
>>>>>>   incidentRef=20
>>>>>>   incidentDate=<null>
>>>>>>   givenName=Charles
>>>>>>   familyName=Moulliard
>>>>>>   summary=This is an OSGI report incident
>>>>>>   details=nothing to say
>>>>>>   email=cmoulliard@xpectis.com
>>>>>>   phone=+352 25 10 70 470
>>>>>>   creationUser=<null>
>>>>>>   creationDate=<null>
>>>>>> ]}]
>>>>>> 17:38:34,343 | INFO  | ActiveMQ Task    | FailoverTransport
>>>>>> |
>>>>>> sport.failover.FailoverTransport  714 | Successfully connected to
>>>>>> tcp://localhost:61616
>>>>>> 17:38:34,437 | INFO  | enerContainer-35 | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-8 >>> queuingservice:queue:in -->
>>>>>> to(bean:incidentSaver?method=process), Pattern:InOnly,
>>>>>> Headers:{JMSXGroupID=null, JMSCorrelationID=null, JMSType=null,
>>>>>> JMSExpiration=0,
>>>>>> JMSMessageID=ID:dell-charles-1712-1238084102453-2:3:1:1:1,
>>>>>> JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4,
>>>>>> JMSReplyTo=null,
>>>>>> JMSTimestamp=1238085514359, JMSDestination=queue://in},
>>>>>> BodyType:java.util.ArrayList,
>>>>>> Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@f0bca1[
>>>>>>   incidentId=0
>>>>>>   incidentRef=20
>>>>>>   incidentDate=<null>
>>>>>>   givenName=Charles
>>>>>>   familyName=Moulliard
>>>>>>   summary=This is an OSGI report incident
>>>>>>   details=nothing to say
>>>>>>   email=cmoulliard@xpectis.com
>>>>>>   phone=+352 25 10 70 470
>>>>>>   creationUser=<null>
>>>>>>   creationDate=<null>
>>>>>> ]}]
>>>>>> 17:38:34,421 | INFO  | 25328218@qtp2-0  | PhaseInterceptorChain
>>>>>> |
>>>>>> ransport.ChainInitiationObserver   89 | Interceptor has thrown
>>>>>> exception,
>>>>>> unwinding now
>>>>>> org.apache.cxf.interceptor.Fault: Marshalling Error: class
>>>>>> java.util.HashMap
>>>>>> nor any of its super class is known to this context.
>>>>>>    at
>>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:159)
>>>>>>    at
>>>>>> org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
>>>>>>    at
>>>>>> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:104)
>>>>>>    at
>>>>>> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
>>>>>>    at
>>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>>>>>    at
>>>>>> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
>>>>>>    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)
>>>>>> Caused by: javax.xml.bind.MarshalException
>>>>>>  - with linked exception:
>>>>>> [javax.xml.bind.JAXBException: class java.util.HashMap nor any of its
>>>>>> super
>>>>>> class is known to this context.]
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
>>>>>>    at
>>>>>> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)
>>>>>>    at
>>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:441)
>>>>>>    at
>>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:138)
>>>>>>    ... 21 more
>>>>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor
>>>>>> any
>>>>>> of
>>>>>> its super class is known to this context.
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:147)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:156)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
>>>>>>    ... 25 more
>>>>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor
>>>>>> any
>>>>>> of
>>>>>> its super class is known to this context.
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
>>>>>>    ... 33 more
>>>>>>
>>>>>> cmoulliard wrote:
>>>>>>> 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  | 12773899@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.InputReportIncident@ea9f6e]
>>>>>>>
>>>>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e]
>>>>>>>
>>>>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>>
>>>>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>>
>>>>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>>
>>>>>>> 17:16:08,625 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>>
>>>>>>> 17:16:08,640 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>>
>>>>>>> 17:16:08,671 | INFO  | 12773899@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.Incident@14bbd50[
>>>>>>>   incidentId=0
>>>>>>>   incidentRef=20
>>>>>>>   incidentDate=<null>
>>>>>>>   givenName=Charles
>>>>>>>   familyName=Moulliard
>>>>>>>   summary=This is an OSGI report incident
>>>>>>>   details=nothing to say
>>>>>>>   email=cmoulliard@xpectis.com
>>>>>>>   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.Incident@127d19d[
>>>>>>>   incidentId=0
>>>>>>>   incidentRef=20
>>>>>>>   incidentDate=<null>
>>>>>>>   givenName=Charles
>>>>>>>   familyName=Moulliard
>>>>>>>   summary=This is an OSGI report incident
>>>>>>>   details=nothing to say
>>>>>>>   email=cmoulliard@xpectis.com
>>>>>>>   phone=+352 25 10 70 470
>>>>>>>   creationUser=<null>
>>>>>>>   creationDate=<null>
>>>>>>> ]}]
>>>>>>> 17:16:31,250 | ERROR | 12773899@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.Incident@14bbd50[
>>>>>>>   incidentId=0
>>>>>>>   incidentRef=20
>>>>>>>   incidentDate=<null>
>>>>>>>   givenName=Charles
>>>>>>>   familyName=Moulliard
>>>>>>>   summary=This is an OSGI report incident
>>>>>>>   details=nothing to say
>>>>>>>   email=cmoulliard@xpectis.com
>>>>>>>   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.Incident@14bbd50[
>>>>>>>   incidentId=0
>>>>>>>   incidentRef=20
>>>>>>>   incidentDate=<null>
>>>>>>>   givenName=Charles
>>>>>>>   familyName=Moulliard
>>>>>>>   summary=This is an OSGI report incident
>>>>>>>   details=nothing to say
>>>>>>>   email=cmoulliard@xpectis.com
>>>>>>>   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/
>>>>>
>>>>>
>>>>
>>>>
>>>> -----
>>>> Charles Moulliard
>>>> SOA Architect
>>>>
>>>> My Blog :  http://cmoulliard.blogspot.com/
>>>> http://cmoulliard.blogspot.com/
>>>
>>>
>>>
>>
>>
>> -----
>> 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----tp22725597p22738110.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
>
>
>
> --
> Claus Ibsen
> Apache Camel Committer
>
> Open Source Integration: http://fusesource.com
> Blog: http://davsclaus.blogspot.com/
> Twitter: http://twitter.com/davsclaus
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: Camel 2.0 - Multicast issue ??

Posted by Willem Jiang <wi...@gmail.com>.
Hi

I need to clear one thing, mulicast processor don't wait for the out
message. It just delegates the calling of it following processor
parallelly or sequentially.

If we want to inspect the response , we could do it in the aggregation
strategy.

Willem

Claus Ibsen wrote:
> Hi
> 
> You can use the wireTap for fire and forget style DSL.
> 
> 1)
> However I currently does not support specifying multiple destinations
> in one line.
> 
> 2)
> However I was wondering if we could improve the logic in multicast to
> inspect the MEP and if not Out capable it should not wait/expect a
> response.
> Might be not east to do.
> 
> 
> 
> 2009/3/27 cmoulliard <cm...@gmail.com>:
>> Hi Willem,
>>
>> Many thanks.
>>
>> By the way, It should be interesting to have a real parallel DSL word in the
>> camel syntax for simple case like this.
>>
>> The route could be written with the assumption that no OUT message is waited
>> by the calling process
>>
>> e.g.
>>
>> <from uri="">
>> ...
>> <!-- at this point we don't wait any OUT message from endpoints called, our
>> strategy is pure
>>      FIRE/FORGET -->
>> <parallel>
>>   <to uri="direct:feedbackWS"/>
>>   <to uri="direct:saveWS"/>
>> </parrallel>
>>
>> An extension of this could be that parallel does not receive OUT message but
>> properties or headers like e.g. parallelName="feedbackWS",
>> status="processed" and we could provide a timer as a property.
>>
>> <parallel timer="180" feedbackRequested="true">
>> ...
>> </parallel>
>>
>> If one of the parallel process does not finish until the period defined by
>> the timer, then the parallel process generates errors.
>>
>> regards,
>>
>> Charles
>>
>>
>>
>>
>> willem.jiang wrote:
>>> Hi Charles,
>>>
>>> Camel multicast supports to send the exchange parallely.
>>> You just need to set the customer aggregation strategy to return a right
>>> exchange for aggregation like this, since we don't when the bean's
>>> exchange is returned.
>>>
>>> public class MyCustomerAggregationStrategy implements AggregationStrategy
>>> {
>>>     // only return the exchage which has the out message
>>>     public Exchange aggregate(Exchange oldExchange, Exchange newExchange)
>>> {
>>>         if (oldExchange.getOutMessage(false)!= null) {
>>>            return oldExchange;
>>>         } else {
>>>            return newExchange;
>>>         }
>>>     }
>>> }
>>>
>>> Willem
>>>
>>>
>>>
>>> cmoulliard wrote:
>>>> Many thanks Willem. In fact, I tried to use the multicast as a workaround
>>>> because I was blocked to call directly the bean:feedback after the step
>>>> converting the content of WS into InputReportIncident. I have the same
>>>> problem as we have with the setHeader that you solved
>>>>
>>>> remark : In my case, it could be more interesting to send in parallel the
>>>> same message to two different endpoints (direct:feedbackWS and
>>>> direct:saveWS).
>>>>
>>>> Nevertheless, I will try to adapt my multicast routes as you propose (put
>>>> the "direct:feedbackWS" to the last endpoint) but for the moment I don't
>>>> how
>>>> to achieve this.
>>>>
>>>> Regards,
>>>>
>>>> Charles
>>>>
>>>> So I will try to
>>>>
>>>> willem.jiang wrote:
>>>>> Hi Charles,
>>>>>
>>>>> If you used the multicast for the InOut Message, Camel will try to
>>>>> aggregate the exchange for the out message processing and the default
>>>>> aggregation strategy is using the last exchange.
>>>>>
>>>>> You need to adjust the multicast endpoints in your Spring configuration
>>>>> file, and put the "direct:feedbackWS" to the last endpoint, or you can
>>>>> specify your own aggregation strategy in the multicast.
>>>>>
>>>>> You can find more examples about how to use multicast in the LoanBroker
>>>>> Example[1] of Camel.
>>>>>
>>>>> [1]http://cwiki.apache.org/CAMEL/loan-broker-example.html#LoanBrokerExample-Implementationwithwebservice
>>>>>
>>>>> Willem
>>>>>
>>>>>
>>>>>
>>>>> cmoulliard wrote:
>>>>>> To solve the error returned and as proposed by Claus, I have modified
>>>>>> my
>>>>>> route like this
>>>>>>
>>>>>> <camel:inOnly uri="queuingservice:queue:in" />
>>>>>>
>>>>>> Nevertheless, the multicast does not work as we can in the log here :
>>>>>>
>>>>>> 17:38:34,250 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>>
>>>>>> 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.InputReportIncident@250f55]
>>>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55]
>>>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>>> 17:38:34,296 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>>> 17:38:34,312 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> to(bean:webservice) -->
>>>>>> inOnly(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.Incident@e22502[
>>>>>>   incidentId=0
>>>>>>   incidentRef=20
>>>>>>   incidentDate=<null>
>>>>>>   givenName=Charles
>>>>>>   familyName=Moulliard
>>>>>>   summary=This is an OSGI report incident
>>>>>>   details=nothing to say
>>>>>>   email=cmoulliard@xpectis.com
>>>>>>   phone=+352 25 10 70 470
>>>>>>   creationUser=<null>
>>>>>>   creationDate=<null>
>>>>>> ]}]
>>>>>> 17:38:34,343 | INFO  | ActiveMQ Task    | FailoverTransport
>>>>>> |
>>>>>> sport.failover.FailoverTransport  714 | Successfully connected to
>>>>>> tcp://localhost:61616
>>>>>> 17:38:34,437 | INFO  | enerContainer-35 | TraceInterceptor
>>>>>> |
>>>>>> rg.apache.camel.processor.Logger   88 |
>>>>>> ID-dell-charles-1751-1238084114250-2-8 >>> queuingservice:queue:in -->
>>>>>> to(bean:incidentSaver?method=process), Pattern:InOnly,
>>>>>> Headers:{JMSXGroupID=null, JMSCorrelationID=null, JMSType=null,
>>>>>> JMSExpiration=0,
>>>>>> JMSMessageID=ID:dell-charles-1712-1238084102453-2:3:1:1:1,
>>>>>> JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4,
>>>>>> JMSReplyTo=null,
>>>>>> JMSTimestamp=1238085514359, JMSDestination=queue://in},
>>>>>> BodyType:java.util.ArrayList,
>>>>>> Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@f0bca1[
>>>>>>   incidentId=0
>>>>>>   incidentRef=20
>>>>>>   incidentDate=<null>
>>>>>>   givenName=Charles
>>>>>>   familyName=Moulliard
>>>>>>   summary=This is an OSGI report incident
>>>>>>   details=nothing to say
>>>>>>   email=cmoulliard@xpectis.com
>>>>>>   phone=+352 25 10 70 470
>>>>>>   creationUser=<null>
>>>>>>   creationDate=<null>
>>>>>> ]}]
>>>>>> 17:38:34,421 | INFO  | 25328218@qtp2-0  | PhaseInterceptorChain
>>>>>> |
>>>>>> ransport.ChainInitiationObserver   89 | Interceptor has thrown
>>>>>> exception,
>>>>>> unwinding now
>>>>>> org.apache.cxf.interceptor.Fault: Marshalling Error: class
>>>>>> java.util.HashMap
>>>>>> nor any of its super class is known to this context.
>>>>>>    at
>>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:159)
>>>>>>    at
>>>>>> org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
>>>>>>    at
>>>>>> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:104)
>>>>>>    at
>>>>>> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
>>>>>>    at
>>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>>>>>    at
>>>>>> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
>>>>>>    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)
>>>>>> Caused by: javax.xml.bind.MarshalException
>>>>>>  - with linked exception:
>>>>>> [javax.xml.bind.JAXBException: class java.util.HashMap nor any of its
>>>>>> super
>>>>>> class is known to this context.]
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
>>>>>>    at
>>>>>> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)
>>>>>>    at
>>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:441)
>>>>>>    at
>>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:138)
>>>>>>    ... 21 more
>>>>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor
>>>>>> any
>>>>>> of
>>>>>> its super class is known to this context.
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:147)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:156)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
>>>>>>    ... 25 more
>>>>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor
>>>>>> any
>>>>>> of
>>>>>> its super class is known to this context.
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
>>>>>>    at
>>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
>>>>>>    ... 33 more
>>>>>>
>>>>>> cmoulliard wrote:
>>>>>>> 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  | 12773899@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.InputReportIncident@ea9f6e]
>>>>>>>
>>>>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e]
>>>>>>>
>>>>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>>
>>>>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>>
>>>>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>>
>>>>>>> 17:16:08,625 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>>
>>>>>>> 17:16:08,640 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>>
>>>>>>> 17:16:08,671 | INFO  | 12773899@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.Incident@14bbd50[
>>>>>>>   incidentId=0
>>>>>>>   incidentRef=20
>>>>>>>   incidentDate=<null>
>>>>>>>   givenName=Charles
>>>>>>>   familyName=Moulliard
>>>>>>>   summary=This is an OSGI report incident
>>>>>>>   details=nothing to say
>>>>>>>   email=cmoulliard@xpectis.com
>>>>>>>   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.Incident@127d19d[
>>>>>>>   incidentId=0
>>>>>>>   incidentRef=20
>>>>>>>   incidentDate=<null>
>>>>>>>   givenName=Charles
>>>>>>>   familyName=Moulliard
>>>>>>>   summary=This is an OSGI report incident
>>>>>>>   details=nothing to say
>>>>>>>   email=cmoulliard@xpectis.com
>>>>>>>   phone=+352 25 10 70 470
>>>>>>>   creationUser=<null>
>>>>>>>   creationDate=<null>
>>>>>>> ]}]
>>>>>>> 17:16:31,250 | ERROR | 12773899@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.Incident@14bbd50[
>>>>>>>   incidentId=0
>>>>>>>   incidentRef=20
>>>>>>>   incidentDate=<null>
>>>>>>>   givenName=Charles
>>>>>>>   familyName=Moulliard
>>>>>>>   summary=This is an OSGI report incident
>>>>>>>   details=nothing to say
>>>>>>>   email=cmoulliard@xpectis.com
>>>>>>>   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.Incident@14bbd50[
>>>>>>>   incidentId=0
>>>>>>>   incidentRef=20
>>>>>>>   incidentDate=<null>
>>>>>>>   givenName=Charles
>>>>>>>   familyName=Moulliard
>>>>>>>   summary=This is an OSGI report incident
>>>>>>>   details=nothing to say
>>>>>>>   email=cmoulliard@xpectis.com
>>>>>>>   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/
>>>>>
>>>>
>>>> -----
>>>> Charles Moulliard
>>>> SOA Architect
>>>>
>>>> My Blog :  http://cmoulliard.blogspot.com/
>>>> http://cmoulliard.blogspot.com/
>>>
>>>
>>
>> -----
>> 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----tp22725597p22738110.html
>> Sent from the Camel - Users mailing list archive at Nabble.com.
>>
>>
> 
> 
> 


Re: Camel 2.0 - Multicast issue ??

Posted by Claus Ibsen <cl...@gmail.com>.
Hi

You can use the wireTap for fire and forget style DSL.

1)
However I currently does not support specifying multiple destinations
in one line.

2)
However I was wondering if we could improve the logic in multicast to
inspect the MEP and if not Out capable it should not wait/expect a
response.
Might be not east to do.



2009/3/27 cmoulliard <cm...@gmail.com>:
>
> Hi Willem,
>
> Many thanks.
>
> By the way, It should be interesting to have a real parallel DSL word in the
> camel syntax for simple case like this.
>
> The route could be written with the assumption that no OUT message is waited
> by the calling process
>
> e.g.
>
> <from uri="">
> ...
> <!-- at this point we don't wait any OUT message from endpoints called, our
> strategy is pure
>      FIRE/FORGET -->
> <parallel>
>   <to uri="direct:feedbackWS"/>
>   <to uri="direct:saveWS"/>
> </parrallel>
>
> An extension of this could be that parallel does not receive OUT message but
> properties or headers like e.g. parallelName="feedbackWS",
> status="processed" and we could provide a timer as a property.
>
> <parallel timer="180" feedbackRequested="true">
> ...
> </parallel>
>
> If one of the parallel process does not finish until the period defined by
> the timer, then the parallel process generates errors.
>
> regards,
>
> Charles
>
>
>
>
> willem.jiang wrote:
>>
>> Hi Charles,
>>
>> Camel multicast supports to send the exchange parallely.
>> You just need to set the customer aggregation strategy to return a right
>> exchange for aggregation like this, since we don't when the bean's
>> exchange is returned.
>>
>> public class MyCustomerAggregationStrategy implements AggregationStrategy
>> {
>>     // only return the exchage which has the out message
>>     public Exchange aggregate(Exchange oldExchange, Exchange newExchange)
>> {
>>         if (oldExchange.getOutMessage(false)!= null) {
>>            return oldExchange;
>>         } else {
>>            return newExchange;
>>         }
>>     }
>> }
>>
>> Willem
>>
>>
>>
>> cmoulliard wrote:
>>> Many thanks Willem. In fact, I tried to use the multicast as a workaround
>>> because I was blocked to call directly the bean:feedback after the step
>>> converting the content of WS into InputReportIncident. I have the same
>>> problem as we have with the setHeader that you solved
>>>
>>> remark : In my case, it could be more interesting to send in parallel the
>>> same message to two different endpoints (direct:feedbackWS and
>>> direct:saveWS).
>>>
>>> Nevertheless, I will try to adapt my multicast routes as you propose (put
>>> the "direct:feedbackWS" to the last endpoint) but for the moment I don't
>>> how
>>> to achieve this.
>>>
>>> Regards,
>>>
>>> Charles
>>>
>>> So I will try to
>>>
>>> willem.jiang wrote:
>>>> Hi Charles,
>>>>
>>>> If you used the multicast for the InOut Message, Camel will try to
>>>> aggregate the exchange for the out message processing and the default
>>>> aggregation strategy is using the last exchange.
>>>>
>>>> You need to adjust the multicast endpoints in your Spring configuration
>>>> file, and put the "direct:feedbackWS" to the last endpoint, or you can
>>>> specify your own aggregation strategy in the multicast.
>>>>
>>>> You can find more examples about how to use multicast in the LoanBroker
>>>> Example[1] of Camel.
>>>>
>>>> [1]http://cwiki.apache.org/CAMEL/loan-broker-example.html#LoanBrokerExample-Implementationwithwebservice
>>>>
>>>> Willem
>>>>
>>>>
>>>>
>>>> cmoulliard wrote:
>>>>> To solve the error returned and as proposed by Claus, I have modified
>>>>> my
>>>>> route like this
>>>>>
>>>>> <camel:inOnly uri="queuingservice:queue:in" />
>>>>>
>>>>> Nevertheless, the multicast does not work as we can in the log here :
>>>>>
>>>>> 17:38:34,250 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>> |
>>>>> rg.apache.camel.processor.Logger   88 |
>>>>> ID-dell-charles-1751-1238084114250-2-7 >>>
>>>>> 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.InputReportIncident@250f55]
>>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>> |
>>>>> rg.apache.camel.processor.Logger   88 |
>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55]
>>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>> |
>>>>> rg.apache.camel.processor.Logger   88 |
>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>> |
>>>>> rg.apache.camel.processor.Logger   88 |
>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>> |
>>>>> rg.apache.camel.processor.Logger   88 |
>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>> |
>>>>> rg.apache.camel.processor.Logger   88 |
>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>> 17:38:34,296 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>> |
>>>>> rg.apache.camel.processor.Logger   88 |
>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>>> 17:38:34,312 | INFO  | 25328218@qtp2-0  | TraceInterceptor
>>>>> |
>>>>> rg.apache.camel.processor.Logger   88 |
>>>>> ID-dell-charles-1751-1238084114250-2-7 >>> to(bean:webservice) -->
>>>>> inOnly(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.Incident@e22502[
>>>>>   incidentId=0
>>>>>   incidentRef=20
>>>>>   incidentDate=<null>
>>>>>   givenName=Charles
>>>>>   familyName=Moulliard
>>>>>   summary=This is an OSGI report incident
>>>>>   details=nothing to say
>>>>>   email=cmoulliard@xpectis.com
>>>>>   phone=+352 25 10 70 470
>>>>>   creationUser=<null>
>>>>>   creationDate=<null>
>>>>> ]}]
>>>>> 17:38:34,343 | INFO  | ActiveMQ Task    | FailoverTransport
>>>>> |
>>>>> sport.failover.FailoverTransport  714 | Successfully connected to
>>>>> tcp://localhost:61616
>>>>> 17:38:34,437 | INFO  | enerContainer-35 | TraceInterceptor
>>>>> |
>>>>> rg.apache.camel.processor.Logger   88 |
>>>>> ID-dell-charles-1751-1238084114250-2-8 >>> queuingservice:queue:in -->
>>>>> to(bean:incidentSaver?method=process), Pattern:InOnly,
>>>>> Headers:{JMSXGroupID=null, JMSCorrelationID=null, JMSType=null,
>>>>> JMSExpiration=0,
>>>>> JMSMessageID=ID:dell-charles-1712-1238084102453-2:3:1:1:1,
>>>>> JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4,
>>>>> JMSReplyTo=null,
>>>>> JMSTimestamp=1238085514359, JMSDestination=queue://in},
>>>>> BodyType:java.util.ArrayList,
>>>>> Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@f0bca1[
>>>>>   incidentId=0
>>>>>   incidentRef=20
>>>>>   incidentDate=<null>
>>>>>   givenName=Charles
>>>>>   familyName=Moulliard
>>>>>   summary=This is an OSGI report incident
>>>>>   details=nothing to say
>>>>>   email=cmoulliard@xpectis.com
>>>>>   phone=+352 25 10 70 470
>>>>>   creationUser=<null>
>>>>>   creationDate=<null>
>>>>> ]}]
>>>>> 17:38:34,421 | INFO  | 25328218@qtp2-0  | PhaseInterceptorChain
>>>>> |
>>>>> ransport.ChainInitiationObserver   89 | Interceptor has thrown
>>>>> exception,
>>>>> unwinding now
>>>>> org.apache.cxf.interceptor.Fault: Marshalling Error: class
>>>>> java.util.HashMap
>>>>> nor any of its super class is known to this context.
>>>>>    at
>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:159)
>>>>>    at
>>>>> org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
>>>>>    at
>>>>> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:104)
>>>>>    at
>>>>> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
>>>>>    at
>>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>>>>    at
>>>>> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
>>>>>    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)
>>>>> Caused by: javax.xml.bind.MarshalException
>>>>>  - with linked exception:
>>>>> [javax.xml.bind.JAXBException: class java.util.HashMap nor any of its
>>>>> super
>>>>> class is known to this context.]
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
>>>>>    at
>>>>> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)
>>>>>    at
>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:441)
>>>>>    at
>>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:138)
>>>>>    ... 21 more
>>>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor
>>>>> any
>>>>> of
>>>>> its super class is known to this context.
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:147)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:156)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
>>>>>    ... 25 more
>>>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor
>>>>> any
>>>>> of
>>>>> its super class is known to this context.
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
>>>>>    at
>>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
>>>>>    ... 33 more
>>>>>
>>>>> cmoulliard wrote:
>>>>>> 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  | 12773899@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.InputReportIncident@ea9f6e]
>>>>>>
>>>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e]
>>>>>>
>>>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>
>>>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>
>>>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>
>>>>>> 17:16:08,625 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>
>>>>>> 17:16:08,640 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>>
>>>>>> 17:16:08,671 | INFO  | 12773899@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.Incident@14bbd50[
>>>>>>   incidentId=0
>>>>>>   incidentRef=20
>>>>>>   incidentDate=<null>
>>>>>>   givenName=Charles
>>>>>>   familyName=Moulliard
>>>>>>   summary=This is an OSGI report incident
>>>>>>   details=nothing to say
>>>>>>   email=cmoulliard@xpectis.com
>>>>>>   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.Incident@127d19d[
>>>>>>   incidentId=0
>>>>>>   incidentRef=20
>>>>>>   incidentDate=<null>
>>>>>>   givenName=Charles
>>>>>>   familyName=Moulliard
>>>>>>   summary=This is an OSGI report incident
>>>>>>   details=nothing to say
>>>>>>   email=cmoulliard@xpectis.com
>>>>>>   phone=+352 25 10 70 470
>>>>>>   creationUser=<null>
>>>>>>   creationDate=<null>
>>>>>> ]}]
>>>>>> 17:16:31,250 | ERROR | 12773899@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.Incident@14bbd50[
>>>>>>   incidentId=0
>>>>>>   incidentRef=20
>>>>>>   incidentDate=<null>
>>>>>>   givenName=Charles
>>>>>>   familyName=Moulliard
>>>>>>   summary=This is an OSGI report incident
>>>>>>   details=nothing to say
>>>>>>   email=cmoulliard@xpectis.com
>>>>>>   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.Incident@14bbd50[
>>>>>>   incidentId=0
>>>>>>   incidentRef=20
>>>>>>   incidentDate=<null>
>>>>>>   givenName=Charles
>>>>>>   familyName=Moulliard
>>>>>>   summary=This is an OSGI report incident
>>>>>>   details=nothing to say
>>>>>>   email=cmoulliard@xpectis.com
>>>>>>   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/
>>>>
>>>>
>>>
>>>
>>> -----
>>> Charles Moulliard
>>> SOA Architect
>>>
>>> My Blog :  http://cmoulliard.blogspot.com/
>>> http://cmoulliard.blogspot.com/
>>
>>
>>
>
>
> -----
> 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----tp22725597p22738110.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>
>



-- 
Claus Ibsen
Apache Camel Committer

Open Source Integration: http://fusesource.com
Blog: http://davsclaus.blogspot.com/
Twitter: http://twitter.com/davsclaus

Re: Camel 2.0 - Multicast issue ??

Posted by cmoulliard <cm...@gmail.com>.
Hi Willem,

Many thanks.

By the way, It should be interesting to have a real parallel DSL word in the
camel syntax for simple case like this. 

The route could be written with the assumption that no OUT message is waited
by the calling process 

e.g. 

<from uri="">
...
<!-- at this point we don't wait any OUT message from endpoints called, our
strategy is pure 
      FIRE/FORGET -->
<parallel>
   <to uri="direct:feedbackWS"/>
   <to uri="direct:saveWS"/>
</parrallel>

An extension of this could be that parallel does not receive OUT message but
properties or headers like e.g. parallelName="feedbackWS",
status="processed" and we could provide a timer as a property. 

<parallel timer="180" feedbackRequested="true">
...
</parallel>

If one of the parallel process does not finish until the period defined by
the timer, then the parallel process generates errors.

regards,

Charles




willem.jiang wrote:
> 
> Hi Charles,
> 
> Camel multicast supports to send the exchange parallely.
> You just need to set the customer aggregation strategy to return a right
> exchange for aggregation like this, since we don't when the bean's
> exchange is returned.
> 
> public class MyCustomerAggregationStrategy implements AggregationStrategy
> {
>     // only return the exchage which has the out message
>     public Exchange aggregate(Exchange oldExchange, Exchange newExchange)
> {
>         if (oldExchange.getOutMessage(false)!= null) {
>            return oldExchange;
>         } else {
>            return newExchange;
>         }
>     }
> }
> 
> Willem
> 
> 
> 
> cmoulliard wrote:
>> Many thanks Willem. In fact, I tried to use the multicast as a workaround
>> because I was blocked to call directly the bean:feedback after the step
>> converting the content of WS into InputReportIncident. I have the same
>> problem as we have with the setHeader that you solved
>> 
>> remark : In my case, it could be more interesting to send in parallel the
>> same message to two different endpoints (direct:feedbackWS and
>> direct:saveWS).
>> 
>> Nevertheless, I will try to adapt my multicast routes as you propose (put
>> the "direct:feedbackWS" to the last endpoint) but for the moment I don't
>> how
>> to achieve this.
>> 
>> Regards,
>> 
>> Charles
>> 
>> So I will try to 
>> 
>> willem.jiang wrote:
>>> Hi Charles,
>>>
>>> If you used the multicast for the InOut Message, Camel will try to
>>> aggregate the exchange for the out message processing and the default
>>> aggregation strategy is using the last exchange.
>>>
>>> You need to adjust the multicast endpoints in your Spring configuration
>>> file, and put the "direct:feedbackWS" to the last endpoint, or you can
>>> specify your own aggregation strategy in the multicast.
>>>
>>> You can find more examples about how to use multicast in the LoanBroker
>>> Example[1] of Camel.
>>>
>>> [1]http://cwiki.apache.org/CAMEL/loan-broker-example.html#LoanBrokerExample-Implementationwithwebservice
>>>
>>> Willem
>>>
>>>
>>>
>>> cmoulliard wrote:
>>>> To solve the error returned and as proposed by Claus, I have modified
>>>> my
>>>> route like this 
>>>>
>>>> <camel:inOnly uri="queuingservice:queue:in" />
>>>>
>>>> Nevertheless, the multicast does not work as we can in the log here :
>>>>
>>>> 17:38:34,250 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>>
>>>> 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.InputReportIncident@250f55]
>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55]
>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>> 17:38:34,296 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>> 17:38:34,312 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> to(bean:webservice) -->
>>>> inOnly(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.Incident@e22502[
>>>>   incidentId=0
>>>>   incidentRef=20
>>>>   incidentDate=<null>
>>>>   givenName=Charles
>>>>   familyName=Moulliard
>>>>   summary=This is an OSGI report incident
>>>>   details=nothing to say
>>>>   email=cmoulliard@xpectis.com
>>>>   phone=+352 25 10 70 470
>>>>   creationUser=<null>
>>>>   creationDate=<null>
>>>> ]}]
>>>> 17:38:34,343 | INFO  | ActiveMQ Task    | FailoverTransport               
>>>> |
>>>> sport.failover.FailoverTransport  714 | Successfully connected to
>>>> tcp://localhost:61616
>>>> 17:38:34,437 | INFO  | enerContainer-35 | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-8 >>> queuingservice:queue:in -->
>>>> to(bean:incidentSaver?method=process), Pattern:InOnly,
>>>> Headers:{JMSXGroupID=null, JMSCorrelationID=null, JMSType=null,
>>>> JMSExpiration=0,
>>>> JMSMessageID=ID:dell-charles-1712-1238084102453-2:3:1:1:1,
>>>> JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4,
>>>> JMSReplyTo=null,
>>>> JMSTimestamp=1238085514359, JMSDestination=queue://in},
>>>> BodyType:java.util.ArrayList,
>>>> Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@f0bca1[
>>>>   incidentId=0
>>>>   incidentRef=20
>>>>   incidentDate=<null>
>>>>   givenName=Charles
>>>>   familyName=Moulliard
>>>>   summary=This is an OSGI report incident
>>>>   details=nothing to say
>>>>   email=cmoulliard@xpectis.com
>>>>   phone=+352 25 10 70 470
>>>>   creationUser=<null>
>>>>   creationDate=<null>
>>>> ]}]
>>>> 17:38:34,421 | INFO  | 25328218@qtp2-0  | PhaseInterceptorChain           
>>>> |
>>>> ransport.ChainInitiationObserver   89 | Interceptor has thrown
>>>> exception,
>>>> unwinding now
>>>> org.apache.cxf.interceptor.Fault: Marshalling Error: class
>>>> java.util.HashMap
>>>> nor any of its super class is known to this context.
>>>> 	at
>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:159)
>>>> 	at
>>>> org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
>>>> 	at
>>>> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:104)
>>>> 	at
>>>> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
>>>> 	at
>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>>> 	at
>>>> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
>>>> 	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)
>>>> Caused by: javax.xml.bind.MarshalException
>>>>  - with linked exception:
>>>> [javax.xml.bind.JAXBException: class java.util.HashMap nor any of its
>>>> super
>>>> class is known to this context.]
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
>>>> 	at
>>>> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)
>>>> 	at
>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:441)
>>>> 	at
>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:138)
>>>> 	... 21 more
>>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor
>>>> any
>>>> of
>>>> its super class is known to this context.
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:147)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:156)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
>>>> 	... 25 more
>>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor
>>>> any
>>>> of
>>>> its super class is known to this context.
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
>>>> 	... 33 more
>>>>
>>>> cmoulliard wrote:
>>>>> 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  | 12773899@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.InputReportIncident@ea9f6e]
>>>>>
>>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e]
>>>>>
>>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>
>>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>
>>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>
>>>>> 17:16:08,625 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>
>>>>> 17:16:08,640 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>
>>>>> 17:16:08,671 | INFO  | 12773899@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.Incident@14bbd50[
>>>>>   incidentId=0
>>>>>   incidentRef=20
>>>>>   incidentDate=<null>
>>>>>   givenName=Charles
>>>>>   familyName=Moulliard
>>>>>   summary=This is an OSGI report incident
>>>>>   details=nothing to say
>>>>>   email=cmoulliard@xpectis.com
>>>>>   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.Incident@127d19d[
>>>>>   incidentId=0
>>>>>   incidentRef=20
>>>>>   incidentDate=<null>
>>>>>   givenName=Charles
>>>>>   familyName=Moulliard
>>>>>   summary=This is an OSGI report incident
>>>>>   details=nothing to say
>>>>>   email=cmoulliard@xpectis.com
>>>>>   phone=+352 25 10 70 470
>>>>>   creationUser=<null>
>>>>>   creationDate=<null>
>>>>> ]}]
>>>>> 17:16:31,250 | ERROR | 12773899@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.Incident@14bbd50[
>>>>>   incidentId=0
>>>>>   incidentRef=20
>>>>>   incidentDate=<null>
>>>>>   givenName=Charles
>>>>>   familyName=Moulliard
>>>>>   summary=This is an OSGI report incident
>>>>>   details=nothing to say
>>>>>   email=cmoulliard@xpectis.com
>>>>>   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.Incident@14bbd50[
>>>>>   incidentId=0
>>>>>   incidentRef=20
>>>>>   incidentDate=<null>
>>>>>   givenName=Charles
>>>>>   familyName=Moulliard
>>>>>   summary=This is an OSGI report incident
>>>>>   details=nothing to say
>>>>>   email=cmoulliard@xpectis.com
>>>>>   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/  
>>>
>>>
>> 
>> 
>> -----
>> Charles Moulliard
>> SOA Architect
>> 
>> My Blog :  http://cmoulliard.blogspot.com/
>> http://cmoulliard.blogspot.com/  
> 
> 
> 


-----
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----tp22725597p22738110.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Camel 2.0 - Multicast issue ??

Posted by Willem Jiang <wi...@gmail.com>.
Hi Charles

Here an example of how to make the multicast parallel in Spring from
Camel unit test.
http://svn.apache.org/repos/asf/camel/trunk/components/camel-spring/src/test/resources/org/apache/camel/spring/processor/multicastAggregator.xml

Willem
Willem Jiang wrote:
> Hi Charles,
> 
> Camel multicast supports to send the exchange parallely.
> You just need to set the customer aggregation strategy to return a right
> exchange for aggregation like this, since we don't when the bean's
> exchange is returned.
> 
> public class MyCustomerAggregationStrategy implements AggregationStrategy {
>     // only return the exchage which has the out message
>     public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
>         if (oldExchange.getOutMessage(false)!= null) {
>            return oldExchange;
>         } else {
>            return newExchange;
>         }
>     }
> }
> 
> Willem
> 
> 
> 
> cmoulliard wrote:
>> Many thanks Willem. In fact, I tried to use the multicast as a workaround
>> because I was blocked to call directly the bean:feedback after the step
>> converting the content of WS into InputReportIncident. I have the same
>> problem as we have with the setHeader that you solved
>>
>> remark : In my case, it could be more interesting to send in parallel the
>> same message to two different endpoints (direct:feedbackWS and
>> direct:saveWS).
>>
>> Nevertheless, I will try to adapt my multicast routes as you propose (put
>> the "direct:feedbackWS" to the last endpoint) but for the moment I don't how
>> to achieve this.
>>
>> Regards,
>>
>> Charles
>>
>> So I will try to 
>>
>> willem.jiang wrote:
>>> Hi Charles,
>>>
>>> If you used the multicast for the InOut Message, Camel will try to
>>> aggregate the exchange for the out message processing and the default
>>> aggregation strategy is using the last exchange.
>>>
>>> You need to adjust the multicast endpoints in your Spring configuration
>>> file, and put the "direct:feedbackWS" to the last endpoint, or you can
>>> specify your own aggregation strategy in the multicast.
>>>
>>> You can find more examples about how to use multicast in the LoanBroker
>>> Example[1] of Camel.
>>>
>>> [1]http://cwiki.apache.org/CAMEL/loan-broker-example.html#LoanBrokerExample-Implementationwithwebservice
>>>
>>> Willem
>>>
>>>
>>>
>>> cmoulliard wrote:
>>>> To solve the error returned and as proposed by Claus, I have modified my
>>>> route like this 
>>>>
>>>> <camel:inOnly uri="queuingservice:queue:in" />
>>>>
>>>> Nevertheless, the multicast does not work as we can in the log here :
>>>>
>>>> 17:38:34,250 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>>
>>>> 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.InputReportIncident@250f55]
>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55]
>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>> 17:38:34,296 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>>> 17:38:34,312 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-7 >>> to(bean:webservice) -->
>>>> inOnly(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.Incident@e22502[
>>>>   incidentId=0
>>>>   incidentRef=20
>>>>   incidentDate=<null>
>>>>   givenName=Charles
>>>>   familyName=Moulliard
>>>>   summary=This is an OSGI report incident
>>>>   details=nothing to say
>>>>   email=cmoulliard@xpectis.com
>>>>   phone=+352 25 10 70 470
>>>>   creationUser=<null>
>>>>   creationDate=<null>
>>>> ]}]
>>>> 17:38:34,343 | INFO  | ActiveMQ Task    | FailoverTransport               
>>>> |
>>>> sport.failover.FailoverTransport  714 | Successfully connected to
>>>> tcp://localhost:61616
>>>> 17:38:34,437 | INFO  | enerContainer-35 | TraceInterceptor                
>>>> |
>>>> rg.apache.camel.processor.Logger   88 |
>>>> ID-dell-charles-1751-1238084114250-2-8 >>> queuingservice:queue:in -->
>>>> to(bean:incidentSaver?method=process), Pattern:InOnly,
>>>> Headers:{JMSXGroupID=null, JMSCorrelationID=null, JMSType=null,
>>>> JMSExpiration=0,
>>>> JMSMessageID=ID:dell-charles-1712-1238084102453-2:3:1:1:1,
>>>> JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4, JMSReplyTo=null,
>>>> JMSTimestamp=1238085514359, JMSDestination=queue://in},
>>>> BodyType:java.util.ArrayList,
>>>> Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@f0bca1[
>>>>   incidentId=0
>>>>   incidentRef=20
>>>>   incidentDate=<null>
>>>>   givenName=Charles
>>>>   familyName=Moulliard
>>>>   summary=This is an OSGI report incident
>>>>   details=nothing to say
>>>>   email=cmoulliard@xpectis.com
>>>>   phone=+352 25 10 70 470
>>>>   creationUser=<null>
>>>>   creationDate=<null>
>>>> ]}]
>>>> 17:38:34,421 | INFO  | 25328218@qtp2-0  | PhaseInterceptorChain           
>>>> |
>>>> ransport.ChainInitiationObserver   89 | Interceptor has thrown exception,
>>>> unwinding now
>>>> org.apache.cxf.interceptor.Fault: Marshalling Error: class
>>>> java.util.HashMap
>>>> nor any of its super class is known to this context.
>>>> 	at
>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:159)
>>>> 	at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
>>>> 	at
>>>> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:104)
>>>> 	at
>>>> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
>>>> 	at
>>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>>> 	at
>>>> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
>>>> 	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)
>>>> Caused by: javax.xml.bind.MarshalException
>>>>  - with linked exception:
>>>> [javax.xml.bind.JAXBException: class java.util.HashMap nor any of its
>>>> super
>>>> class is known to this context.]
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
>>>> 	at
>>>> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)
>>>> 	at
>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:441)
>>>> 	at
>>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:138)
>>>> 	... 21 more
>>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor any
>>>> of
>>>> its super class is known to this context.
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:147)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:156)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
>>>> 	... 25 more
>>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor any
>>>> of
>>>> its super class is known to this context.
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
>>>> 	at
>>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
>>>> 	... 33 more
>>>>
>>>> cmoulliard wrote:
>>>>> 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  | 12773899@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.InputReportIncident@ea9f6e]
>>>>>
>>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e]
>>>>>
>>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>
>>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>
>>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>
>>>>> 17:16:08,625 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>
>>>>> 17:16:08,640 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>>
>>>>> 17:16:08,671 | INFO  | 12773899@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.Incident@14bbd50[
>>>>>   incidentId=0
>>>>>   incidentRef=20
>>>>>   incidentDate=<null>
>>>>>   givenName=Charles
>>>>>   familyName=Moulliard
>>>>>   summary=This is an OSGI report incident
>>>>>   details=nothing to say
>>>>>   email=cmoulliard@xpectis.com
>>>>>   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.Incident@127d19d[
>>>>>   incidentId=0
>>>>>   incidentRef=20
>>>>>   incidentDate=<null>
>>>>>   givenName=Charles
>>>>>   familyName=Moulliard
>>>>>   summary=This is an OSGI report incident
>>>>>   details=nothing to say
>>>>>   email=cmoulliard@xpectis.com
>>>>>   phone=+352 25 10 70 470
>>>>>   creationUser=<null>
>>>>>   creationDate=<null>
>>>>> ]}]
>>>>> 17:16:31,250 | ERROR | 12773899@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.Incident@14bbd50[
>>>>>   incidentId=0
>>>>>   incidentRef=20
>>>>>   incidentDate=<null>
>>>>>   givenName=Charles
>>>>>   familyName=Moulliard
>>>>>   summary=This is an OSGI report incident
>>>>>   details=nothing to say
>>>>>   email=cmoulliard@xpectis.com
>>>>>   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.Incident@14bbd50[
>>>>>   incidentId=0
>>>>>   incidentRef=20
>>>>>   incidentDate=<null>
>>>>>   givenName=Charles
>>>>>   familyName=Moulliard
>>>>>   summary=This is an OSGI report incident
>>>>>   details=nothing to say
>>>>>   email=cmoulliard@xpectis.com
>>>>>   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/  
>>>
>>
>> -----
>> Charles Moulliard
>> SOA Architect
>>
>> My Blog :  http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/  
> 
> 


Re: Camel 2.0 - Multicast issue ??

Posted by Willem Jiang <wi...@gmail.com>.
Hi Charles,

Camel multicast supports to send the exchange parallely.
You just need to set the customer aggregation strategy to return a right
exchange for aggregation like this, since we don't when the bean's
exchange is returned.

public class MyCustomerAggregationStrategy implements AggregationStrategy {
    // only return the exchage which has the out message
    public Exchange aggregate(Exchange oldExchange, Exchange newExchange) {
        if (oldExchange.getOutMessage(false)!= null) {
           return oldExchange;
        } else {
           return newExchange;
        }
    }
}

Willem



cmoulliard wrote:
> Many thanks Willem. In fact, I tried to use the multicast as a workaround
> because I was blocked to call directly the bean:feedback after the step
> converting the content of WS into InputReportIncident. I have the same
> problem as we have with the setHeader that you solved
> 
> remark : In my case, it could be more interesting to send in parallel the
> same message to two different endpoints (direct:feedbackWS and
> direct:saveWS).
> 
> Nevertheless, I will try to adapt my multicast routes as you propose (put
> the "direct:feedbackWS" to the last endpoint) but for the moment I don't how
> to achieve this.
> 
> Regards,
> 
> Charles
> 
> So I will try to 
> 
> willem.jiang wrote:
>> Hi Charles,
>>
>> If you used the multicast for the InOut Message, Camel will try to
>> aggregate the exchange for the out message processing and the default
>> aggregation strategy is using the last exchange.
>>
>> You need to adjust the multicast endpoints in your Spring configuration
>> file, and put the "direct:feedbackWS" to the last endpoint, or you can
>> specify your own aggregation strategy in the multicast.
>>
>> You can find more examples about how to use multicast in the LoanBroker
>> Example[1] of Camel.
>>
>> [1]http://cwiki.apache.org/CAMEL/loan-broker-example.html#LoanBrokerExample-Implementationwithwebservice
>>
>> Willem
>>
>>
>>
>> cmoulliard wrote:
>>> To solve the error returned and as proposed by Claus, I have modified my
>>> route like this 
>>>
>>> <camel:inOnly uri="queuingservice:queue:in" />
>>>
>>> Nevertheless, the multicast does not work as we can in the log here :
>>>
>>> 17:38:34,250 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>> |
>>> rg.apache.camel.processor.Logger   88 |
>>> ID-dell-charles-1751-1238084114250-2-7 >>>
>>> 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.InputReportIncident@250f55]
>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>> |
>>> rg.apache.camel.processor.Logger   88 |
>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55]
>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>> |
>>> rg.apache.camel.processor.Logger   88 |
>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>> |
>>> rg.apache.camel.processor.Logger   88 |
>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>> |
>>> rg.apache.camel.processor.Logger   88 |
>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>> |
>>> rg.apache.camel.processor.Logger   88 |
>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>> 17:38:34,296 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>> |
>>> rg.apache.camel.processor.Logger   88 |
>>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>>> 17:38:34,312 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>>> |
>>> rg.apache.camel.processor.Logger   88 |
>>> ID-dell-charles-1751-1238084114250-2-7 >>> to(bean:webservice) -->
>>> inOnly(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.Incident@e22502[
>>>   incidentId=0
>>>   incidentRef=20
>>>   incidentDate=<null>
>>>   givenName=Charles
>>>   familyName=Moulliard
>>>   summary=This is an OSGI report incident
>>>   details=nothing to say
>>>   email=cmoulliard@xpectis.com
>>>   phone=+352 25 10 70 470
>>>   creationUser=<null>
>>>   creationDate=<null>
>>> ]}]
>>> 17:38:34,343 | INFO  | ActiveMQ Task    | FailoverTransport               
>>> |
>>> sport.failover.FailoverTransport  714 | Successfully connected to
>>> tcp://localhost:61616
>>> 17:38:34,437 | INFO  | enerContainer-35 | TraceInterceptor                
>>> |
>>> rg.apache.camel.processor.Logger   88 |
>>> ID-dell-charles-1751-1238084114250-2-8 >>> queuingservice:queue:in -->
>>> to(bean:incidentSaver?method=process), Pattern:InOnly,
>>> Headers:{JMSXGroupID=null, JMSCorrelationID=null, JMSType=null,
>>> JMSExpiration=0,
>>> JMSMessageID=ID:dell-charles-1712-1238084102453-2:3:1:1:1,
>>> JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4, JMSReplyTo=null,
>>> JMSTimestamp=1238085514359, JMSDestination=queue://in},
>>> BodyType:java.util.ArrayList,
>>> Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@f0bca1[
>>>   incidentId=0
>>>   incidentRef=20
>>>   incidentDate=<null>
>>>   givenName=Charles
>>>   familyName=Moulliard
>>>   summary=This is an OSGI report incident
>>>   details=nothing to say
>>>   email=cmoulliard@xpectis.com
>>>   phone=+352 25 10 70 470
>>>   creationUser=<null>
>>>   creationDate=<null>
>>> ]}]
>>> 17:38:34,421 | INFO  | 25328218@qtp2-0  | PhaseInterceptorChain           
>>> |
>>> ransport.ChainInitiationObserver   89 | Interceptor has thrown exception,
>>> unwinding now
>>> org.apache.cxf.interceptor.Fault: Marshalling Error: class
>>> java.util.HashMap
>>> nor any of its super class is known to this context.
>>> 	at
>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:159)
>>> 	at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
>>> 	at
>>> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:104)
>>> 	at
>>> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
>>> 	at
>>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>>> 	at
>>> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
>>> 	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)
>>> Caused by: javax.xml.bind.MarshalException
>>>  - with linked exception:
>>> [javax.xml.bind.JAXBException: class java.util.HashMap nor any of its
>>> super
>>> class is known to this context.]
>>> 	at
>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
>>> 	at
>>> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)
>>> 	at
>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:441)
>>> 	at
>>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:138)
>>> 	... 21 more
>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor any
>>> of
>>> its super class is known to this context.
>>> 	at
>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:147)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:156)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
>>> 	... 25 more
>>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor any
>>> of
>>> its super class is known to this context.
>>> 	at
>>> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
>>> 	at
>>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
>>> 	... 33 more
>>>
>>> cmoulliard wrote:
>>>> 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  | 12773899@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.InputReportIncident@ea9f6e]
>>>>
>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e]
>>>>
>>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>
>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>
>>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>
>>>> 17:16:08,625 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>
>>>> 17:16:08,640 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>>
>>>> 17:16:08,671 | INFO  | 12773899@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.Incident@14bbd50[
>>>>   incidentId=0
>>>>   incidentRef=20
>>>>   incidentDate=<null>
>>>>   givenName=Charles
>>>>   familyName=Moulliard
>>>>   summary=This is an OSGI report incident
>>>>   details=nothing to say
>>>>   email=cmoulliard@xpectis.com
>>>>   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.Incident@127d19d[
>>>>   incidentId=0
>>>>   incidentRef=20
>>>>   incidentDate=<null>
>>>>   givenName=Charles
>>>>   familyName=Moulliard
>>>>   summary=This is an OSGI report incident
>>>>   details=nothing to say
>>>>   email=cmoulliard@xpectis.com
>>>>   phone=+352 25 10 70 470
>>>>   creationUser=<null>
>>>>   creationDate=<null>
>>>> ]}]
>>>> 17:16:31,250 | ERROR | 12773899@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.Incident@14bbd50[
>>>>   incidentId=0
>>>>   incidentRef=20
>>>>   incidentDate=<null>
>>>>   givenName=Charles
>>>>   familyName=Moulliard
>>>>   summary=This is an OSGI report incident
>>>>   details=nothing to say
>>>>   email=cmoulliard@xpectis.com
>>>>   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.Incident@14bbd50[
>>>>   incidentId=0
>>>>   incidentRef=20
>>>>   incidentDate=<null>
>>>>   givenName=Charles
>>>>   familyName=Moulliard
>>>>   summary=This is an OSGI report incident
>>>>   details=nothing to say
>>>>   email=cmoulliard@xpectis.com
>>>>   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/  
>>
>>
> 
> 
> -----
> Charles Moulliard
> SOA Architect
> 
> My Blog :  http://cmoulliard.blogspot.com/ http://cmoulliard.blogspot.com/  


Re: Camel 2.0 - Multicast issue ??

Posted by cmoulliard <cm...@gmail.com>.
Many thanks Willem. In fact, I tried to use the multicast as a workaround
because I was blocked to call directly the bean:feedback after the step
converting the content of WS into InputReportIncident. I have the same
problem as we have with the setHeader that you solved

remark : In my case, it could be more interesting to send in parallel the
same message to two different endpoints (direct:feedbackWS and
direct:saveWS).

Nevertheless, I will try to adapt my multicast routes as you propose (put
the "direct:feedbackWS" to the last endpoint) but for the moment I don't how
to achieve this.

Regards,

Charles

So I will try to 

willem.jiang wrote:
> 
> Hi Charles,
> 
> If you used the multicast for the InOut Message, Camel will try to
> aggregate the exchange for the out message processing and the default
> aggregation strategy is using the last exchange.
> 
> You need to adjust the multicast endpoints in your Spring configuration
> file, and put the "direct:feedbackWS" to the last endpoint, or you can
> specify your own aggregation strategy in the multicast.
> 
> You can find more examples about how to use multicast in the LoanBroker
> Example[1] of Camel.
> 
> [1]http://cwiki.apache.org/CAMEL/loan-broker-example.html#LoanBrokerExample-Implementationwithwebservice
> 
> Willem
> 
> 
> 
> cmoulliard wrote:
>> To solve the error returned and as proposed by Claus, I have modified my
>> route like this 
>> 
>> <camel:inOnly uri="queuingservice:queue:in" />
>> 
>> Nevertheless, the multicast does not work as we can in the log here :
>> 
>> 17:38:34,250 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>> |
>> rg.apache.camel.processor.Logger   88 |
>> ID-dell-charles-1751-1238084114250-2-7 >>>
>> 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.InputReportIncident@250f55]
>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>> |
>> rg.apache.camel.processor.Logger   88 |
>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55]
>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>> |
>> rg.apache.camel.processor.Logger   88 |
>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>> |
>> rg.apache.camel.processor.Logger   88 |
>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>> |
>> rg.apache.camel.processor.Logger   88 |
>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>> |
>> rg.apache.camel.processor.Logger   88 |
>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>> 17:38:34,296 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>> |
>> rg.apache.camel.processor.Logger   88 |
>> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
>> 17:38:34,312 | INFO  | 25328218@qtp2-0  | TraceInterceptor                
>> |
>> rg.apache.camel.processor.Logger   88 |
>> ID-dell-charles-1751-1238084114250-2-7 >>> to(bean:webservice) -->
>> inOnly(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.Incident@e22502[
>>   incidentId=0
>>   incidentRef=20
>>   incidentDate=<null>
>>   givenName=Charles
>>   familyName=Moulliard
>>   summary=This is an OSGI report incident
>>   details=nothing to say
>>   email=cmoulliard@xpectis.com
>>   phone=+352 25 10 70 470
>>   creationUser=<null>
>>   creationDate=<null>
>> ]}]
>> 17:38:34,343 | INFO  | ActiveMQ Task    | FailoverTransport               
>> |
>> sport.failover.FailoverTransport  714 | Successfully connected to
>> tcp://localhost:61616
>> 17:38:34,437 | INFO  | enerContainer-35 | TraceInterceptor                
>> |
>> rg.apache.camel.processor.Logger   88 |
>> ID-dell-charles-1751-1238084114250-2-8 >>> queuingservice:queue:in -->
>> to(bean:incidentSaver?method=process), Pattern:InOnly,
>> Headers:{JMSXGroupID=null, JMSCorrelationID=null, JMSType=null,
>> JMSExpiration=0,
>> JMSMessageID=ID:dell-charles-1712-1238084102453-2:3:1:1:1,
>> JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4, JMSReplyTo=null,
>> JMSTimestamp=1238085514359, JMSDestination=queue://in},
>> BodyType:java.util.ArrayList,
>> Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@f0bca1[
>>   incidentId=0
>>   incidentRef=20
>>   incidentDate=<null>
>>   givenName=Charles
>>   familyName=Moulliard
>>   summary=This is an OSGI report incident
>>   details=nothing to say
>>   email=cmoulliard@xpectis.com
>>   phone=+352 25 10 70 470
>>   creationUser=<null>
>>   creationDate=<null>
>> ]}]
>> 17:38:34,421 | INFO  | 25328218@qtp2-0  | PhaseInterceptorChain           
>> |
>> ransport.ChainInitiationObserver   89 | Interceptor has thrown exception,
>> unwinding now
>> org.apache.cxf.interceptor.Fault: Marshalling Error: class
>> java.util.HashMap
>> nor any of its super class is known to this context.
>> 	at
>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:159)
>> 	at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
>> 	at
>> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:104)
>> 	at
>> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
>> 	at
>> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
>> 	at
>> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
>> 	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)
>> Caused by: javax.xml.bind.MarshalException
>>  - with linked exception:
>> [javax.xml.bind.JAXBException: class java.util.HashMap nor any of its
>> super
>> class is known to this context.]
>> 	at
>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
>> 	at
>> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
>> 	at
>> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)
>> 	at
>> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:441)
>> 	at
>> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:138)
>> 	... 21 more
>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor any
>> of
>> its super class is known to this context.
>> 	at
>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
>> 	at
>> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
>> 	at
>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
>> 	at
>> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:147)
>> 	at
>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:156)
>> 	at
>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
>> 	at
>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
>> 	at
>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
>> 	at
>> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
>> 	at
>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
>> 	at
>> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
>> 	... 25 more
>> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor any
>> of
>> its super class is known to this context.
>> 	at
>> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
>> 	at
>> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
>> 	... 33 more
>> 
>> cmoulliard wrote:
>>> 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  | 12773899@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.InputReportIncident@ea9f6e]
>>>
>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e]
>>>
>>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>
>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>
>>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>
>>> 17:16:08,625 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>
>>> 17:16:08,640 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>>
>>> 17:16:08,671 | INFO  | 12773899@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.Incident@14bbd50[
>>>   incidentId=0
>>>   incidentRef=20
>>>   incidentDate=<null>
>>>   givenName=Charles
>>>   familyName=Moulliard
>>>   summary=This is an OSGI report incident
>>>   details=nothing to say
>>>   email=cmoulliard@xpectis.com
>>>   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.Incident@127d19d[
>>>   incidentId=0
>>>   incidentRef=20
>>>   incidentDate=<null>
>>>   givenName=Charles
>>>   familyName=Moulliard
>>>   summary=This is an OSGI report incident
>>>   details=nothing to say
>>>   email=cmoulliard@xpectis.com
>>>   phone=+352 25 10 70 470
>>>   creationUser=<null>
>>>   creationDate=<null>
>>> ]}]
>>> 17:16:31,250 | ERROR | 12773899@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.Incident@14bbd50[
>>>   incidentId=0
>>>   incidentRef=20
>>>   incidentDate=<null>
>>>   givenName=Charles
>>>   familyName=Moulliard
>>>   summary=This is an OSGI report incident
>>>   details=nothing to say
>>>   email=cmoulliard@xpectis.com
>>>   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.Incident@14bbd50[
>>>   incidentId=0
>>>   incidentRef=20
>>>   incidentDate=<null>
>>>   givenName=Charles
>>>   familyName=Moulliard
>>>   summary=This is an OSGI report incident
>>>   details=nothing to say
>>>   email=cmoulliard@xpectis.com
>>>   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/  
> 
> 
> 


-----
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----tp22725597p22737641.html
Sent from the Camel - Users mailing list archive at Nabble.com.


Re: Camel 2.0 - Multicast issue ??

Posted by Willem Jiang <wi...@gmail.com>.
Hi Charles,

If you used the multicast for the InOut Message, Camel will try to
aggregate the exchange for the out message processing and the default
aggregation strategy is using the last exchange.

You need to adjust the multicast endpoints in your Spring configuration
file, and put the "direct:feedbackWS" to the last endpoint, or you can
specify your own aggregation strategy in the multicast.

You can find more examples about how to use multicast in the LoanBroker
Example[1] of Camel.

[1]http://cwiki.apache.org/CAMEL/loan-broker-example.html#LoanBrokerExample-Implementationwithwebservice

Willem



cmoulliard wrote:
> To solve the error returned and as proposed by Claus, I have modified my
> route like this 
> 
> <camel:inOnly uri="queuingservice:queue:in" />
> 
> Nevertheless, the multicast does not work as we can in the log here :
> 
> 17:38:34,250 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
> rg.apache.camel.processor.Logger   88 |
> ID-dell-charles-1751-1238084114250-2-7 >>>
> 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.InputReportIncident@250f55]
> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
> rg.apache.camel.processor.Logger   88 |
> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55]
> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
> rg.apache.camel.processor.Logger   88 |
> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
> 17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
> rg.apache.camel.processor.Logger   88 |
> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
> rg.apache.camel.processor.Logger   88 |
> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
> 17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
> rg.apache.camel.processor.Logger   88 |
> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
> 17:38:34,296 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
> rg.apache.camel.processor.Logger   88 |
> ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
> 17:38:34,312 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
> rg.apache.camel.processor.Logger   88 |
> ID-dell-charles-1751-1238084114250-2-7 >>> to(bean:webservice) -->
> inOnly(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.Incident@e22502[
>   incidentId=0
>   incidentRef=20
>   incidentDate=<null>
>   givenName=Charles
>   familyName=Moulliard
>   summary=This is an OSGI report incident
>   details=nothing to say
>   email=cmoulliard@xpectis.com
>   phone=+352 25 10 70 470
>   creationUser=<null>
>   creationDate=<null>
> ]}]
> 17:38:34,343 | INFO  | ActiveMQ Task    | FailoverTransport                |
> sport.failover.FailoverTransport  714 | Successfully connected to
> tcp://localhost:61616
> 17:38:34,437 | INFO  | enerContainer-35 | TraceInterceptor                 |
> rg.apache.camel.processor.Logger   88 |
> ID-dell-charles-1751-1238084114250-2-8 >>> queuingservice:queue:in -->
> to(bean:incidentSaver?method=process), Pattern:InOnly,
> Headers:{JMSXGroupID=null, JMSCorrelationID=null, JMSType=null,
> JMSExpiration=0, JMSMessageID=ID:dell-charles-1712-1238084102453-2:3:1:1:1,
> JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4, JMSReplyTo=null,
> JMSTimestamp=1238085514359, JMSDestination=queue://in},
> BodyType:java.util.ArrayList,
> Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@f0bca1[
>   incidentId=0
>   incidentRef=20
>   incidentDate=<null>
>   givenName=Charles
>   familyName=Moulliard
>   summary=This is an OSGI report incident
>   details=nothing to say
>   email=cmoulliard@xpectis.com
>   phone=+352 25 10 70 470
>   creationUser=<null>
>   creationDate=<null>
> ]}]
> 17:38:34,421 | INFO  | 25328218@qtp2-0  | PhaseInterceptorChain            |
> ransport.ChainInitiationObserver   89 | Interceptor has thrown exception,
> unwinding now
> org.apache.cxf.interceptor.Fault: Marshalling Error: class java.util.HashMap
> nor any of its super class is known to this context.
> 	at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:159)
> 	at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
> 	at
> org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:104)
> 	at
> org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
> 	at
> org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
> 	at
> org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
> 	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)
> Caused by: javax.xml.bind.MarshalException
>  - with linked exception:
> [javax.xml.bind.JAXBException: class java.util.HashMap nor any of its super
> class is known to this context.]
> 	at
> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
> 	at
> com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
> 	at
> javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)
> 	at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:441)
> 	at
> org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:138)
> 	... 21 more
> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor any of
> its super class is known to this context.
> 	at
> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
> 	at
> com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
> 	at
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
> 	at
> com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:147)
> 	at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:156)
> 	at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
> 	at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
> 	at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
> 	at
> com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
> 	at
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
> 	at
> com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
> 	... 25 more
> Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor any of
> its super class is known to this context.
> 	at
> com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
> 	at
> com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
> 	... 33 more
> 
> cmoulliard wrote:
>> 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  | 12773899@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.InputReportIncident@ea9f6e]
>>
>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e]
>>
>> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>
>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>
>> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>
>> 17:16:08,625 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>
>> 17:16:08,640 | INFO  | 12773899@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.InputReportIncident@ea9f6e
>>
>> 17:16:08,671 | INFO  | 12773899@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.Incident@14bbd50[
>>   incidentId=0
>>   incidentRef=20
>>   incidentDate=<null>
>>   givenName=Charles
>>   familyName=Moulliard
>>   summary=This is an OSGI report incident
>>   details=nothing to say
>>   email=cmoulliard@xpectis.com
>>   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.Incident@127d19d[
>>   incidentId=0
>>   incidentRef=20
>>   incidentDate=<null>
>>   givenName=Charles
>>   familyName=Moulliard
>>   summary=This is an OSGI report incident
>>   details=nothing to say
>>   email=cmoulliard@xpectis.com
>>   phone=+352 25 10 70 470
>>   creationUser=<null>
>>   creationDate=<null>
>> ]}]
>> 17:16:31,250 | ERROR | 12773899@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.Incident@14bbd50[
>>   incidentId=0
>>   incidentRef=20
>>   incidentDate=<null>
>>   givenName=Charles
>>   familyName=Moulliard
>>   summary=This is an OSGI report incident
>>   details=nothing to say
>>   email=cmoulliard@xpectis.com
>>   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.Incident@14bbd50[
>>   incidentId=0
>>   incidentRef=20
>>   incidentDate=<null>
>>   givenName=Charles
>>   familyName=Moulliard
>>   summary=This is an OSGI report incident
>>   details=nothing to say
>>   email=cmoulliard@xpectis.com
>>   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/  


Re: Camel 2.0 - Multicast issue ??

Posted by cmoulliard <cm...@gmail.com>.
To solve the error returned and as proposed by Claus, I have modified my
route like this 

<camel:inOnly uri="queuingservice:queue:in" />

Nevertheless, the multicast does not work as we can in the log here :

17:38:34,250 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
rg.apache.camel.processor.Logger   88 |
ID-dell-charles-1751-1238084114250-2-7 >>>
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.InputReportIncident@250f55]
17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
rg.apache.camel.processor.Logger   88 |
ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55]
17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
rg.apache.camel.processor.Logger   88 |
ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
17:38:34,265 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
rg.apache.camel.processor.Logger   88 |
ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
rg.apache.camel.processor.Logger   88 |
ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
17:38:34,281 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
rg.apache.camel.processor.Logger   88 |
ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
17:38:34,296 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
rg.apache.camel.processor.Logger   88 |
ID-dell-charles-1751-1238084114250-2-7 >>> 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.InputReportIncident@250f55
17:38:34,312 | INFO  | 25328218@qtp2-0  | TraceInterceptor                 |
rg.apache.camel.processor.Logger   88 |
ID-dell-charles-1751-1238084114250-2-7 >>> to(bean:webservice) -->
inOnly(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.Incident@e22502[
  incidentId=0
  incidentRef=20
  incidentDate=<null>
  givenName=Charles
  familyName=Moulliard
  summary=This is an OSGI report incident
  details=nothing to say
  email=cmoulliard@xpectis.com
  phone=+352 25 10 70 470
  creationUser=<null>
  creationDate=<null>
]}]
17:38:34,343 | INFO  | ActiveMQ Task    | FailoverTransport                |
sport.failover.FailoverTransport  714 | Successfully connected to
tcp://localhost:61616
17:38:34,437 | INFO  | enerContainer-35 | TraceInterceptor                 |
rg.apache.camel.processor.Logger   88 |
ID-dell-charles-1751-1238084114250-2-8 >>> queuingservice:queue:in -->
to(bean:incidentSaver?method=process), Pattern:InOnly,
Headers:{JMSXGroupID=null, JMSCorrelationID=null, JMSType=null,
JMSExpiration=0, JMSMessageID=ID:dell-charles-1712-1238084102453-2:3:1:1:1,
JMSRedelivered=false, JMSDeliveryMode=2, JMSPriority=4, JMSReplyTo=null,
JMSTimestamp=1238085514359, JMSDestination=queue://in},
BodyType:java.util.ArrayList,
Body:[{org.apache.camel.example.reportincident.model.Incident=org.apache.camel.example.reportincident.model.Incident@f0bca1[
  incidentId=0
  incidentRef=20
  incidentDate=<null>
  givenName=Charles
  familyName=Moulliard
  summary=This is an OSGI report incident
  details=nothing to say
  email=cmoulliard@xpectis.com
  phone=+352 25 10 70 470
  creationUser=<null>
  creationDate=<null>
]}]
17:38:34,421 | INFO  | 25328218@qtp2-0  | PhaseInterceptorChain            |
ransport.ChainInitiationObserver   89 | Interceptor has thrown exception,
unwinding now
org.apache.cxf.interceptor.Fault: Marshalling Error: class java.util.HashMap
nor any of its super class is known to this context.
	at
org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:159)
	at org.apache.cxf.jaxb.io.DataWriterImpl.write(DataWriterImpl.java:169)
	at
org.apache.cxf.interceptor.AbstractOutDatabindingInterceptor.writeParts(AbstractOutDatabindingInterceptor.java:104)
	at
org.apache.cxf.interceptor.BareOutInterceptor.handleMessage(BareOutInterceptor.java:68)
	at
org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:236)
	at
org.apache.cxf.interceptor.OutgoingChainInterceptor.handleMessage(OutgoingChainInterceptor.java:74)
	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)
Caused by: javax.xml.bind.MarshalException
 - with linked exception:
[javax.xml.bind.JAXBException: class java.util.HashMap nor any of its super
class is known to this context.]
	at
com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:331)
	at
com.sun.xml.bind.v2.runtime.MarshallerImpl.marshal(MarshallerImpl.java:257)
	at
javax.xml.bind.helpers.AbstractMarshallerImpl.marshal(AbstractMarshallerImpl.java:100)
	at
org.apache.cxf.jaxb.JAXBEncoderDecoder.writeObject(JAXBEncoderDecoder.java:441)
	at
org.apache.cxf.jaxb.JAXBEncoderDecoder.marshall(JAXBEncoderDecoder.java:138)
	... 21 more
Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor any of
its super class is known to this context.
	at
com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:242)
	at
com.sun.xml.bind.v2.runtime.XMLSerializer.reportError(XMLSerializer.java:257)
	at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:649)
	at
com.sun.xml.bind.v2.runtime.property.SingleElementNodeProperty.serializeBody(SingleElementNodeProperty.java:147)
	at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:156)
	at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl$1.serializeBody(ElementBeanInfoImpl.java:185)
	at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeBody(ElementBeanInfoImpl.java:305)
	at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:312)
	at
com.sun.xml.bind.v2.runtime.ElementBeanInfoImpl.serializeRoot(ElementBeanInfoImpl.java:71)
	at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsRoot(XMLSerializer.java:490)
	at
com.sun.xml.bind.v2.runtime.MarshallerImpl.write(MarshallerImpl.java:328)
	... 25 more
Caused by: javax.xml.bind.JAXBException: class java.util.HashMap nor any of
its super class is known to this context.
	at
com.sun.xml.bind.v2.runtime.JAXBContextImpl.getBeanInfo(JAXBContextImpl.java:556)
	at
com.sun.xml.bind.v2.runtime.XMLSerializer.childAsXsiType(XMLSerializer.java:644)
	... 33 more

cmoulliard wrote:
> 
> 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  | 12773899@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.InputReportIncident@ea9f6e]
> 
> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e]
> 
> 17:16:08,578 | INFO  | 12773899@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.InputReportIncident@ea9f6e
> 
> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
> 
> 17:16:08,593 | INFO  | 12773899@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.InputReportIncident@ea9f6e
> 
> 17:16:08,625 | INFO  | 12773899@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.InputReportIncident@ea9f6e
> 
> 17:16:08,640 | INFO  | 12773899@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.InputReportIncident@ea9f6e
> 
> 17:16:08,671 | INFO  | 12773899@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.Incident@14bbd50[
>   incidentId=0
>   incidentRef=20
>   incidentDate=<null>
>   givenName=Charles
>   familyName=Moulliard
>   summary=This is an OSGI report incident
>   details=nothing to say
>   email=cmoulliard@xpectis.com
>   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.Incident@127d19d[
>   incidentId=0
>   incidentRef=20
>   incidentDate=<null>
>   givenName=Charles
>   familyName=Moulliard
>   summary=This is an OSGI report incident
>   details=nothing to say
>   email=cmoulliard@xpectis.com
>   phone=+352 25 10 70 470
>   creationUser=<null>
>   creationDate=<null>
> ]}]
> 17:16:31,250 | ERROR | 12773899@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.Incident@14bbd50[
>   incidentId=0
>   incidentRef=20
>   incidentDate=<null>
>   givenName=Charles
>   familyName=Moulliard
>   summary=This is an OSGI report incident
>   details=nothing to say
>   email=cmoulliard@xpectis.com
>   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.Incident@14bbd50[
>   incidentId=0
>   incidentRef=20
>   incidentDate=<null>
>   givenName=Charles
>   familyName=Moulliard
>   summary=This is an OSGI report incident
>   details=nothing to say
>   email=cmoulliard@xpectis.com
>   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----tp22725597p22725997.html
Sent from the Camel - Users mailing list archive at Nabble.com.