Kamel: wie manipulieren output message/set header basiert auf xpath-Ausdruck

Ich versuche, dynamisch zu erstellen, die einen Erholsamen URL basierend auf der eingehenden XML:

Eingang:

<message>
   <request name="John"/>
</message>

Möchte ich route es so:

http://myhost:8080/myservice?name=John

Ich wissen, wie man URL-Parameter mit setHeader aber ich weiß nicht, wie extrahieren Sie die Werte der attribute aus der Eingabe-Nachricht. Die SOOPER_XPATH Ausdruck, den ich Suche, könnte wie folgt Aussehen:

from("direct:start")
  .setHeader(Exchange.HTTP_QUERY,
     simple("name=$SOOPER_XPATH(${in.body}, '//request/@name')")
  .to("http://myhost:8080/myservice").log("Received response: ${in.body});
  • haben Sie versucht, diese XPath : '//request/@name'?
  • In der Tat tThe xpath im snippet hatte einen Tippfehler, //request@Namen anstelle der //Anfrage/@name, sorry. Aber mein problem ist nicht mit dem xpath-Ausdruck.
InformationsquelleAutor Ya. | 2014-05-14
Schreibe einen Kommentar