I'm using Camel 2.10.

I'm using org.apache.camel.model.RouteDefinition.

I can set the body of my request fine using the variables described in the
docs:

http://camel.apache.org/simple.html

For example, if I create a org.apache.camel.model.RouteDefinition which
looks like:

 // Calling toString on RouteDefinition
Route[[From[direct:postScript]] ->
[SetBody[simple{$simple{in.header.num}}]]]

Then it will correctly set the body to whatever in.header.num is, for
example 5.

However, whenever I try to evaluate expressions using the operators listed
in the docs:

http://camel.apache.org/simple.html

Nothing seems to be happening. For example, say in.header.num is 5, then I
would expect the following to set the body to 'true' since
$simple{in.header.num} == 5 is true, but instead the body is being set to
'false':

// Calling toString on RouteDefinition
Route[[From[direct:postScript]] -> [SetBody[simple{$simple{in.header.num} ==
5}]]]

I see the same problems using the other operators like '!=', 'contains' and
'in'.

Note, I'm creating my RouteBuilder instances like so:

final RouteDefinition rd = ModelHelper.createModelFromXml(xml,
RouteDefinition.class);

Where the 'xml' String looks like:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?><route
id="PostScript" xmlns="http://camel.apache.org/schema/spring";><from
uri="direct:postScript"/><setBody><simple
resultType="java.lang.Boolean">$simple{in.header.num} ==
4</simple></setBody></route>

Any help is much appreciated!




--
View this message in context: 
http://camel.465427.n5.nabble.com/Camel-XML-Simple-problem-using-operators-tp5768659.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to