ChoiceDefinition doesn’t extends the OutputDefinition, which means you cannot 
define the doCatch after the ChoiceDefinition.
If you want to catch the exception inside of ChoiceDefinition, you can use 
error handler or use doTry…doCatch inside of when part.

--  
Willem Jiang

Red Hat, Inc.
Web: http://www.redhat.com
Blog: http://willemjiang.blogspot.com (English)
http://jnn.iteye.com (Chinese)
Twitter: willemjiang  
Weibo: 姜宁willem



On October 16, 2014 at 2:59:29 PM, Charles Moulliard (ch0...@gmail.com) wrote:
> Hi,
>  
> Does somebody knows why this syntax is not accepted
>  
> from("direct:wayne-get-token").setExchangePattern(ExchangePattern.InOut)  
> .doTry()
> .to("https4://wayne-token-service")
> .choice()
> .when().simple("${header.CamelHttpResponseCode} == '200'")
> .convertBodyTo(String.class)
> .setHeader("wayne-token").groovy("body.replaceAll('\"','')")
> .log(">> Wayne Token : ${header.wayne-token}")
> .endChoice()
> .doCatch(Exception.class) ////// --> CANNOT RESOLVE METHOD
> doCatch(java.lang.Class (java.lang.Exception>)
> .log(">> Exception")
> .endDoTry();
>  
> but well this one
>  
>  
> from("direct:wayne-get-token").setExchangePattern(ExchangePattern.InOut)  
> .doTry()
> .to("https4://wayne-token-service")
> .doCatch(Exception.class)
> .log(">> Exception")
> .endDoTry();
>  
> Regards,
>  
> Charles
>  

Reply via email to