I am trying to retrieve the name of root element to append it separately in the header as follows:
from("jms:axon-events") .setHeader("root_element", xpath("name(/*)")) .process(new Processor() { public void process(Exchange exchange) throws Exception { System.out.println("root name : " + exchange.getIn().getHeader("root_element", String.class)); } }) .to("jms:streambase-events"); } }); However, I am getting the following exception: 2013-04-28 17:43:19.436+0100 [Camel (camel-1) thread #0 - JmsConsumer[axon-events]] WARN o.a.c.c.jms.EndpointMessageListener - Execution of JMS message listener failed. Caused by: [org.apache.camel.builder.xml.InvalidXPathExpression - Invalid xpath: name(/*). Reason: javax.xml.xpath.XPathExpressionException] org.apache.camel.builder.xml.InvalidXPathExpression: Invalid xpath: name(/*). Reason: javax.xml.xpath.XPathExpressionException at org.apache.camel.builder.xml.XPathBuilder.doInEvaluateAs(XPathBuilder.java:873) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:756) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.builder.xml.XPathBuilder.evaluate(XPathBuilder.java:726) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.builder.xml.XPathBuilder.evaluate(XPathBuilder.java:154) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.builder.ProcessorBuilder$4.process(ProcessorBuilder.java:96) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.interceptor.TraceInterceptor.process(TraceInterceptor.java:91) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.RedeliveryErrorHandler.processErrorHandler(RedeliveryErrorHandler.java:334) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:220) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.interceptor.DefaultChannel.process(DefaultChannel.java:308) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.Pipeline.process(Pipeline.java:117) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.Pipeline.process(Pipeline.java:80) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.RouteContextProcessor.processNext(RouteContextProcessor.java:46) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.UnitOfWorkProcessor.processAsync(UnitOfWorkProcessor.java:150) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:117) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.RouteInflightRepositoryProcessor.processNext(RouteInflightRepositoryProcessor.java:48) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:73) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.DelegateAsyncProcessor.processNext(DelegateAsyncProcessor.java:99) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:90) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:72) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:99) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:86) ~[camel-core-2.10.4.jar:2.10.4] at org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:104) ~[camel-jms-2.10.4.jar:2.10.4] at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:560) ~[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:498) ~[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:467) ~[spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325) [spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263) [spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1058) [spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1050) [spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:947) [spring-jms-3.0.7.RELEASE.jar:3.0.7.RELEASE] at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) [na:1.6.0_37] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) [na:1.6.0_37] at java.lang.Thread.run(Thread.java:662) [na:1.6.0_37] Caused by: javax.xml.xpath.XPathExpressionException: null at com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:196) ~[na:1.6.0_37] at org.apache.camel.builder.xml.XPathBuilder.doInEvaluateAs(XPathBuilder.java:859) ~[camel-core-2.10.4.jar:2.10.4] ... 46 common frames omitted Caused by: com.sun.org.apache.xpath.internal.XPathException: Can not convert #STRING to a NodeList! at com.sun.org.apache.xpath.internal.objects.XObject.error(XObject.java:703) ~[na:1.6.0_37] at com.sun.org.apache.xpath.internal.objects.XObject.nodelist(XObject.java:449) ~[na:1.6.0_37] at com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.getResultAsType(XPathExpressionImpl.java:356) ~[na:1.6.0_37] at com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.eval(XPathExpressionImpl.java:102) ~[na:1.6.0_37] at com.sun.org.apache.xpath.internal.jaxp.XPathExpressionImpl.evaluate(XPathExpressionImpl.java:183) ~[na:1.6.0_37] ... 47 common frames omitted Can anyone help? -- View this message in context: http://camel.465427.n5.nabble.com/xml-document-root-element-name-retrieval-using-xpath-method-tp5731697.html Sent from the Camel - Users mailing list archive at Nabble.com.