Maybe I don't see the whole picture, but why wouldn't you do this in the
processor?
For example:
public void process(Exchange exchange) throws Exception {
processMessage();
callWebService(JSON);
do {
// add some kind of sleep or timer task or anything else
response = callStatusWebService();
} while (response == INTERMEDIATE);
}
Another way for this problem would be to have the same process method
followed by another process method:
from("direct:input")
.process(messageProcessor)
.to("checkResultRoute");
from("checkResultRoute")
.process(checkResultProcessor)
.choice()
.when(test if result is intermediate)
.to("checkResultRoute")
.otherwise()
.to("destination after you have received the SUCCESS/FAILED response");
This should build a loop.
--
View this message in context:
http://camel.465427.n5.nabble.com/Loop-in-Camel-Calling-a-service-till-I-receive-required-status-back-tp5743203p5743256.html
Sent from the Camel - Users mailing list archive at Nabble.com.