Hi,
I would like to implement the following route with Camel 1.6 :
from("direct:endpointA")
.setHeader(HttpProducer.HTTP_URI).simple("http://myAddressA")
.to("http://xxxxxx")
.to("direct:endPointB")
from("direct:endpointB")
.setHeader(HttpProducer.HTTP_URI).simple("http://myAddressB")
.to("http://xxxxxx")
.to("direct:endPointC")
from("direct:endPointC")
.to("xquery:response.xml");
This route works fine if both URLs : http://myAddressA and
http://myAddressBare accessible and no error occurs during the
invocation.
Unfortunately, sometimes these services become unreachable and I would like
to try other URLs until getting valid answer:
If an exception happens when calling the URL http:/:myAddressA, I would like
to attempt other URLs : myAddressA1, myAddressA2, ...until getting valid
HTTP response.
The same thing with myAddressB ==> myAddressB1, myAddressB2, ...
With java this could be simply coded like following :
try
{
call_http(myAddressA)
}
catch(Throwable th)
{
try
{
call_http(myAddressA1)
}
catch(Exception x)
{
//Call addressA2
....
}
}
I've tried the onException() mechanism and the deadLetterChannel processor
but I never get working my route.