kesavkolla opened a new issue #1497: URL: https://github.com/apache/camel-quarkus/issues/1497
Hi I'm trying to use xml based route using routes. I've a xpath expression which uses namespace and it's not taking defined namespaces in routes xml. How do I define namespaces? Here is my route xml ```xml <routes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://camel.apache.org/schema/spring" xmlns:soap-env="http://www.w3.org/2003/05/soap-envelope" xsi:schemaLocation=" http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring-3.4.2.xsd"> <route id="myroute"> <from uri="platform-http:/handler?httpMethodRestrict=POST"/> <setProperty name="MessageType"> <xpath resultType="java.lang.String" logNamespaces="true"> local-name(/soap-env:Envelope/soap-env:Body/*[1]) </xpath> </setProperty> <log message="${exchangeProperty.MessageType}"/> <setBody> <simple> Hello ${body} </simple> </setBody> </route> </routes> ``` When I try to post XML file to handler endpoint I get the following error: ```java org.apache.camel.language.xpath.InvalidXPathException: Invalid xpath: local-name(/soap-env:Envelope/soap-env:Body/*[1]). Reason: javax.xml.xpath.XPathExpressionException: javax.xml.transform.TransformerException: Prefix must resolve to a namespace: soap-env at org.apache.camel.language.xpath.XPathBuilder.evaluateAs(XPathBuilder.java:943) at org.apache.camel.language.xpath.XPathBuilder.evaluate(XPathBuilder.java:921) at org.apache.camel.language.xpath.XPathBuilder.evaluate(XPathBuilder.java:240) at org.apache.camel.processor.SetPropertyProcessor.process(SetPropertyProcessor.java:47) at org.apache.camel.processor.errorhandler.RedeliveryErrorHandler$SimpleTask.run(RedeliveryErrorHandler.java:395) at org.apache.camel.impl.engine.DefaultReactiveExecutor$Worker.schedule(DefaultReactiveExecutor.java:148) at org.apache.camel.impl.engine.DefaultReactiveExecutor.scheduleMain(DefaultReactiveExecutor.java:60) at org.apache.camel.processor.Pipeline.process(Pipeline.java:147) at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:286) at org.apache.camel.quarkus.component.platform.http.runtime.QuarkusPlatformHttpConsumer.lambda$doStart$2(QuarkusPlatformHttpConsumer.java:123) ..................... Caused by: javax.xml.xpath.XPathExpressionException: javax.xml.transform.TransformerException: Prefix must resolve to a namespace: soap-env at java.xml/com.sun.org.apache.xpath.internal.jaxp.XPathImpl.compile(XPathImpl.java:170) at org.apache.camel.language.xpath.XPathBuilder.createXPathExpression(XPathBuilder.java:1170) at org.apache.camel.language.xpath.XPathBuilder.evaluateAs(XPathBuilder.java:941) ... 29 more Caused by: javax.xml.transform.TransformerException: Prefix must resolve to a namespace: soap-env at java.xml/com.sun.org.apache.xpath.internal.compiler.XPathParser.error(XPathParser.java:621) at java.xml/com.sun.org.apache.xpath.internal.compiler.Lexer.mapNSTokens(Lexer.java:637) at java.xml/com.sun.org.apache.xpath.internal.compiler.Lexer.tokenize(Lexer.java:269) ``` Can anyone point me how to define custom namespaces? ---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org