Andy Bailey created CAMEL-8005:
----------------------------------
Summary: Simple language produces null for a method call on a
header value
Key: CAMEL-8005
URL: https://issues.apache.org/jira/browse/CAMEL-8005
Project: Camel
Issue Type: Bug
Components: camel-core
Affects Versions: 2.14.0
Environment: Linux apps4u 2.6.32-431.3.1.el6.x86_64 #1 SMP Fri Jan 3
21:39:27 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0-b132)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
Reporter: Andy Bailey
Please could you confirm if this is a bug.
It works if the text is sent in the body but not if it is sent in a header.
I hope the test case is self explanatory.
-------
import org.apache.camel.CamelContext;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.impl.DefaultCamelContext;
public class CamelBug {
public static void main(String[] args) throws Exception {
CamelContext camelContext = new DefaultCamelContext();
camelContext.addRoutes(new RouteBuilder() {
@Override
public void configure() throws Exception {
from("direct:test").
//setBody(simple("body.replace('a','b')")).
setBody(simple("header[text].replace('a','b')")).
to("mock:test");
}
});
camelContext.start();
camelContext.createProducerTemplate().sendBodyAndHeader("direct:test","","text","replace
me");
MockEndpoint mockEndpoint =
camelContext.getEndpoint("mock:test", MockEndpoint.class);
String replacedMessage =
mockEndpoint.getExchanges().get(0).getIn().getBody(String.class);
System.out.println(replacedMessage);//gives null
//assertEquals("replbce me", replacedMessage);
}
}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)