Apache Camel: puis-je mettre plusieurs instructions dans le cas où une partie de la condition instruction de choix?

Je voudrais obtenir de la sorte de routage:

  1. HTTP POST message XML corps entre CHAMEAU
  2. - Je stocker des paramètres du corps XML
  3. Le message est routé vers un point de terminaison externe
  4. Le point de terminaison externe (serveur externe) les réponses

-> en ce moment, je voudrais vérifier si la réponse à partir du point de terminaison externe est un HTTP 200 OK contenant un paramètre XML égal SUCCÈS.
-> si oui, alors je voudrais utiliser certains des paramètres enregistrés pour la construction d'un nouveau message HTTP (method = METTRE cette fois) et de l'envoyer à un point de terminaison externe

Problème que je rencontre actuellement est le suivant:

.choice()
 .when(simple("${in.headers.CamelHttpResponseCode} == 200"))
   //now I want do a few things, eg: check also the XML body via xpath
   //and change the message to be sent out (change Method to PUT, ...)
    .to("http://myserver.com")
 .otherwise()
   //if no 200 OK, I want the route to be stopped ... not sure how ?
.end()

Question: aucune idée comment faire pour ajouter ces déclarations dans le cas où le code de réponse HTTP 200 OK ? On dirait le moment ne me permet pas d'ajouter des déclarations ...
(J'ai une erreur dans mon Eclipse IDE).

Merci d'avance.

Remarque: se pourrait-il que j'ai pour acheminer le message dans le cas où l'200 OK correspond à un "nouveau point de terminaison" puis créer un nouveau à partir de la route avec ce nouveau point de terminaison ?
Par exemple:

.choice()
     .when(simple("${in.headers.CamelHttpResponseCode} == 200"))
        .to("mynewendpoint")
     .otherwise()
       //if no 200 OK, I want the route to be stopped ... not sure how ?
    .end();

 from("mynewendpoint").
  .setHeader(etc etc)
  .to("http://myserver.com")

Dans ce dernier cas, exactement comment dois-je définir cette "newendpoint' ?

OriginalL'auteur opstalj | 2012-02-10