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.