[ 
https://issues.apache.org/jira/browse/CAMEL-10509?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aurelien Pupier updated CAMEL-10509:
------------------------------------
    Description: 
- Use a specific namespace, declared at CamelContext level, in an Xpath 
expression of a When
something like:
{noformat}
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="  
            http://www.osgi.org/xmlns/blueprint/v1.0.0 
https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd              
http://camel.apache.org/schema/blueprint 
http://camel.apache.org/schema/blueprint/camel-blueprint.xsd";>
    <!--
      The namespace for the camelContext element in Blueprint is 
'https://camel.apache.org/schema/blueprint'. Additionally,
      we can also define namespace prefixes we want to use them in the XPath 
expressions in our CBR.

      While it is not required to assign id's to the <camelContext/> and 
<route/> elements, it is a good idea
      to set those for runtime management purposes (logging, JMX MBeans, ...)
    -->
    <camelContext id="cbr-example-context"
        xmlns="http://camel.apache.org/schema/blueprint"; 
xmlns:order="http://fabric8.com/examples/order/v7";>
        <!--
          When this route is started, it will automatically create the 
work/cbr/input directory where you can drop the
          file that need to be processed.

          The <log/> elements are used to add human-friendly business logging 
statements. They make it easier to see what the
          route is doing.

          The <choice/> element contains the content based router. The two 
<when/> clauses use XPath to define the criteria 
          for entering that part of the route. When the country in the XML 
message is set to UK or US, the file will be 
          moved to a directory for that country. The <otherwise/> element 
ensures that any file that does not meet the 
          requirements for either of the <when/> elements will be moved to the 
work/cbr/output/others directory.
        -->
        <route id="cbr-route">
            <from id="_from1" uri="file:work/cbr/input"/>
            <log id="_log1" message="Receiving order ${file:name}"/>
            <choice id="_choice1">
                <when id="_when1">
                    <xpath 
id="_xpath1">/order:order/order:customer/order:country = 'UK'</xpath>
                    <log id="_log2" message="Sending order ${file:name} to the 
UK"/>
                    <to id="_to1" uri="file:work/cbr/output/uk"/>
                </when>
                <when id="_when2">
                    <xpath 
id="_xpath2">/order:order/order:customer/order:country = 'US'</xpath>
                    <log id="_log3" message="Sending order ${file:name} to the 
US"/>
                    <to id="_to2" uri="file:work/cbr/output/us"/>
                </when>
                <otherwise id="_otherwise1">
                    <log id="_log4" message="Sending order ${file:name} to 
another country"/>
                    <to id="_to3" uri="file:work/cbr/output/others"/>
                </otherwise>
            </choice>
            <log id="_log5" message="Done processing ${file:name}"/>
        </route>
    </camelContext>
</blueprint>
{noformat}

- Deploy the project
- Using MBean retrieve dumpRoutesAsXml is providing a route without the 
additional xml namespace provided 
xmlns:order="http://fabric8.com/examples/order/v7";
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<routes id="cbr-example-context" xmlns="http://camel.apache.org/schema/spring";>
    <route customId="true" id="cbr-route">
        <from customId="true" id="_from1" uri="file:work/cbr/input"/>
        <log customId="true" id="_log1" message="XXXYYY"/>
        <choice customId="true" id="_choice1">
            <when customId="true" id="_when1">
                <xpath id="_xpath1">/order:order/order:customer/order:country = 
'UK'</xpath>
                <log customId="true" id="_log2" message="Sending order 
${file:name} to the UK"/>
                <to customId="true" id="_to1" uri="file:work/cbr/output/uk"/>
            </when>
            <when customId="true" id="_when2">
                <xpath id="_xpath2">/order:order/order:customer/order:country = 
'US'</xpath>
                <log customId="true" id="_log3" message="Sending order 
${file:name} to the US"/>
                <to customId="true" id="_to2" uri="file:work/cbr/output/us"/>
            </when>
            <otherwise customId="true" id="_otherwise1">
                <log customId="true" id="_log4" message="Sending order 
${file:name} to another country"/>
                <to customId="true" id="_to3" 
uri="file:work/cbr/output/others"/>
            </otherwise>
        </choice>
        <log customId="true" id="_log5" message="Done processing ${file:name}"/>
    </route>
</routes>
{noformat}

- Then use addOrUpdateRoutesFromXml to upload the exact same xml, you will get 
exceptions when the When code is invoked:

{noformat}
Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                             
                                           Elapsed (ms)
[cbr-route         ] [cbr-route         ] [file://work/cbr/input                
                                         ] [         1]
[cbr-route         ] [_log1             ] [log                                  
                                         ] [         0]
[cbr-route         ] [_choice1          ] [when[xpath{XPath: 
/order:order/order:customer/order:country = 'UK'}]choice[whe] [         1]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.builder.xml.InvalidXPathExpression: Invalid xpath: 
/order:order/order:customer/order:country = 'UK'. Reason: 
javax.xml.xpath.XPathExpressionException: 
com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception: Prefix 
must resolve to a namespace: order
        at 
org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:769)
        at 
org.apache.camel.builder.xml.XPathBuilder.matches(XPathBuilder.java:155)
        at 
org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:65)
        at 
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:93)
        at 
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:121)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
        at 
org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:454)
        at 
org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:226)
        at 
org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:190)
        at 
org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:175)
        at 
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:102)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: javax.xml.xpath.XPathExpressionException: 
com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception: Prefix 
must resolve to a namespace: order
        at 
com.sun.org.apache.xpath.internal.jaxp.XPathImpl.compile(XPathImpl.java:400)
        at 
org.apache.camel.builder.xml.XPathBuilder.createXPathExpression(XPathBuilder.java:958)
        at 
org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:767)
        ... 21 more
Caused by: 
com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception: Prefix 
must resolve to a namespace: order
        at 
com.sun.org.apache.xpath.internal.compiler.XPathParser.errorForDOM3(XPathParser.java:657)
        at 
com.sun.org.apache.xpath.internal.compiler.Lexer.mapNSTokens(Lexer.java:642)
        at 
com.sun.org.apache.xpath.internal.compiler.Lexer.tokenize(Lexer.java:269)
        at 
com.sun.org.apache.xpath.internal.compiler.Lexer.tokenize(Lexer.java:100)
        at 
com.sun.org.apache.xpath.internal.compiler.XPathParser.initXPath(XPathParser.java:114)
        at com.sun.org.apache.xpath.internal.XPath.<init>(XPath.java:180)
        at com.sun.org.apache.xpath.internal.XPath.<init>(XPath.java:268)
        at 
com.sun.org.apache.xpath.internal.jaxp.XPathImpl.compile(XPathImpl.java:392)
{noformat}

  was:
- Use a specific namespace, declared at CamelContext level, in an Xpath 
expression of a When
something like:
{noformat}
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; xsi:schemaLocation="  
            http://www.osgi.org/xmlns/blueprint/v1.0.0 
https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd              
http://camel.apache.org/schema/blueprint 
http://camel.apache.org/schema/blueprint/camel-blueprint.xsd";>
    <!--
      The namespace for the camelContext element in Blueprint is 
'https://camel.apache.org/schema/blueprint'. Additionally,
      we can also define namespace prefixes we want to use them in the XPath 
expressions in our CBR.

      While it is not required to assign id's to the <camelContext/> and 
<route/> elements, it is a good idea
      to set those for runtime management purposes (logging, JMX MBeans, ...)
    -->
    <camelContext id="cbr-example-context"
        xmlns="http://camel.apache.org/schema/blueprint"; 
xmlns:order="http://fabric8.com/examples/order/v7";>
        <!--
          When this route is started, it will automatically create the 
work/cbr/input directory where you can drop the
          file that need to be processed.

          The <log/> elements are used to add human-friendly business logging 
statements. They make it easier to see what the
          route is doing.

          The <choice/> element contains the content based router. The two 
<when/> clauses use XPath to define the criteria 
          for entering that part of the route. When the country in the XML 
message is set to UK or US, the file will be 
          moved to a directory for that country. The <otherwise/> element 
ensures that any file that does not meet the 
          requirements for either of the <when/> elements will be moved to the 
work/cbr/output/others directory.
        -->
        <route id="cbr-route">
            <from id="_from1" uri="file:work/cbr/input"/>
            <log id="_log1" message="Receiving order ${file:name}"/>
            <choice id="_choice1">
                <when id="_when1">
                    <xpath 
id="_xpath1">/order:order/order:customer/order:country = 'UK'</xpath>
                    <log id="_log2" message="Sending order ${file:name} to the 
UK"/>
                    <to id="_to1" uri="file:work/cbr/output/uk"/>
                </when>
                <when id="_when2">
                    <xpath 
id="_xpath2">/order:order/order:customer/order:country = 'US'</xpath>
                    <log id="_log3" message="Sending order ${file:name} to the 
US"/>
                    <to id="_to2" uri="file:work/cbr/output/us"/>
                </when>
                <otherwise id="_otherwise1">
                    <log id="_log4" message="Sending order ${file:name} to 
another country"/>
                    <to id="_to3" uri="file:work/cbr/output/others"/>
                </otherwise>
            </choice>
            <log id="_log5" message="Done processing ${file:name}"/>
        </route>
    </camelContext>
</blueprint>
{noformat}

- Deploy the project
- Using MBean retrieve dumpRoutesAsXml is providing a route without the xml 
namespace provided
{noformat}
<?xml version="1.0" encoding="UTF-8"?>
<routes id="cbr-example-context" xmlns="http://camel.apache.org/schema/spring";>
    <route customId="true" id="cbr-route">
        <from customId="true" id="_from1" uri="file:work/cbr/input"/>
        <log customId="true" id="_log1" message="XXXYYY"/>
        <choice customId="true" id="_choice1">
            <when customId="true" id="_when1">
                <xpath id="_xpath1">/order:order/order:customer/order:country = 
'UK'</xpath>
                <log customId="true" id="_log2" message="Sending order 
${file:name} to the UK"/>
                <to customId="true" id="_to1" uri="file:work/cbr/output/uk"/>
            </when>
            <when customId="true" id="_when2">
                <xpath id="_xpath2">/order:order/order:customer/order:country = 
'US'</xpath>
                <log customId="true" id="_log3" message="Sending order 
${file:name} to the US"/>
                <to customId="true" id="_to2" uri="file:work/cbr/output/us"/>
            </when>
            <otherwise customId="true" id="_otherwise1">
                <log customId="true" id="_log4" message="Sending order 
${file:name} to another country"/>
                <to customId="true" id="_to3" 
uri="file:work/cbr/output/others"/>
            </otherwise>
        </choice>
        <log customId="true" id="_log5" message="Done processing ${file:name}"/>
    </route>
</routes>
{noformat}

- Then use addOrUpdateRoutesFromXml to upload the exact same xml, you will get 
exceptions when the When code is invoked:

{noformat}
Message History
---------------------------------------------------------------------------------------------------------------------------------------
RouteId              ProcessorId          Processor                             
                                           Elapsed (ms)
[cbr-route         ] [cbr-route         ] [file://work/cbr/input                
                                         ] [         1]
[cbr-route         ] [_log1             ] [log                                  
                                         ] [         0]
[cbr-route         ] [_choice1          ] [when[xpath{XPath: 
/order:order/order:customer/order:country = 'UK'}]choice[whe] [         1]

Stacktrace
---------------------------------------------------------------------------------------------------------------------------------------
org.apache.camel.builder.xml.InvalidXPathExpression: Invalid xpath: 
/order:order/order:customer/order:country = 'UK'. Reason: 
javax.xml.xpath.XPathExpressionException: 
com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception: Prefix 
must resolve to a namespace: order
        at 
org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:769)
        at 
org.apache.camel.builder.xml.XPathBuilder.matches(XPathBuilder.java:155)
        at 
org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:65)
        at 
org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:93)
        at 
org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
        at 
org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:121)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)
        at 
org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
        at 
org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:454)
        at 
org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:226)
        at 
org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:190)
        at 
org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:175)
        at 
org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:102)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
Caused by: javax.xml.xpath.XPathExpressionException: 
com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception: Prefix 
must resolve to a namespace: order
        at 
com.sun.org.apache.xpath.internal.jaxp.XPathImpl.compile(XPathImpl.java:400)
        at 
org.apache.camel.builder.xml.XPathBuilder.createXPathExpression(XPathBuilder.java:958)
        at 
org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:767)
        ... 21 more
Caused by: 
com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception: Prefix 
must resolve to a namespace: order
        at 
com.sun.org.apache.xpath.internal.compiler.XPathParser.errorForDOM3(XPathParser.java:657)
        at 
com.sun.org.apache.xpath.internal.compiler.Lexer.mapNSTokens(Lexer.java:642)
        at 
com.sun.org.apache.xpath.internal.compiler.Lexer.tokenize(Lexer.java:269)
        at 
com.sun.org.apache.xpath.internal.compiler.Lexer.tokenize(Lexer.java:100)
        at 
com.sun.org.apache.xpath.internal.compiler.XPathParser.initXPath(XPathParser.java:114)
        at com.sun.org.apache.xpath.internal.XPath.<init>(XPath.java:180)
        at com.sun.org.apache.xpath.internal.XPath.<init>(XPath.java:268)
        at 
com.sun.org.apache.xpath.internal.jaxp.XPathImpl.compile(XPathImpl.java:392)
{noformat}


> ManagedCamelContextMBean - additional namespaces are removed
> ------------------------------------------------------------
>
>                 Key: CAMEL-10509
>                 URL: https://issues.apache.org/jira/browse/CAMEL-10509
>             Project: Camel
>          Issue Type: Bug
>          Components: camel-core
>    Affects Versions: 2.18.0
>            Reporter: Aurelien Pupier
>
> - Use a specific namespace, declared at CamelContext level, in an Xpath 
> expression of a When
> something like:
> {noformat}
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="              http://www.osgi.org/xmlns/blueprint/v1.0.0 
> https://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd              
> http://camel.apache.org/schema/blueprint 
> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd";>
>     <!--
>       The namespace for the camelContext element in Blueprint is 
> 'https://camel.apache.org/schema/blueprint'. Additionally,
>       we can also define namespace prefixes we want to use them in the XPath 
> expressions in our CBR.
>       While it is not required to assign id's to the <camelContext/> and 
> <route/> elements, it is a good idea
>       to set those for runtime management purposes (logging, JMX MBeans, ...)
>     -->
>     <camelContext id="cbr-example-context"
>         xmlns="http://camel.apache.org/schema/blueprint"; 
> xmlns:order="http://fabric8.com/examples/order/v7";>
>         <!--
>           When this route is started, it will automatically create the 
> work/cbr/input directory where you can drop the
>           file that need to be processed.
>           The <log/> elements are used to add human-friendly business logging 
> statements. They make it easier to see what the
>           route is doing.
>           The <choice/> element contains the content based router. The two 
> <when/> clauses use XPath to define the criteria 
>           for entering that part of the route. When the country in the XML 
> message is set to UK or US, the file will be 
>           moved to a directory for that country. The <otherwise/> element 
> ensures that any file that does not meet the 
>           requirements for either of the <when/> elements will be moved to 
> the work/cbr/output/others directory.
>         -->
>         <route id="cbr-route">
>             <from id="_from1" uri="file:work/cbr/input"/>
>             <log id="_log1" message="Receiving order ${file:name}"/>
>             <choice id="_choice1">
>                 <when id="_when1">
>                     <xpath 
> id="_xpath1">/order:order/order:customer/order:country = 'UK'</xpath>
>                     <log id="_log2" message="Sending order ${file:name} to 
> the UK"/>
>                     <to id="_to1" uri="file:work/cbr/output/uk"/>
>                 </when>
>                 <when id="_when2">
>                     <xpath 
> id="_xpath2">/order:order/order:customer/order:country = 'US'</xpath>
>                     <log id="_log3" message="Sending order ${file:name} to 
> the US"/>
>                     <to id="_to2" uri="file:work/cbr/output/us"/>
>                 </when>
>                 <otherwise id="_otherwise1">
>                     <log id="_log4" message="Sending order ${file:name} to 
> another country"/>
>                     <to id="_to3" uri="file:work/cbr/output/others"/>
>                 </otherwise>
>             </choice>
>             <log id="_log5" message="Done processing ${file:name}"/>
>         </route>
>     </camelContext>
> </blueprint>
> {noformat}
> - Deploy the project
> - Using MBean retrieve dumpRoutesAsXml is providing a route without the 
> additional xml namespace provided 
> xmlns:order="http://fabric8.com/examples/order/v7";
> {noformat}
> <?xml version="1.0" encoding="UTF-8"?>
> <routes id="cbr-example-context" 
> xmlns="http://camel.apache.org/schema/spring";>
>     <route customId="true" id="cbr-route">
>         <from customId="true" id="_from1" uri="file:work/cbr/input"/>
>         <log customId="true" id="_log1" message="XXXYYY"/>
>         <choice customId="true" id="_choice1">
>             <when customId="true" id="_when1">
>                 <xpath id="_xpath1">/order:order/order:customer/order:country 
> = 'UK'</xpath>
>                 <log customId="true" id="_log2" message="Sending order 
> ${file:name} to the UK"/>
>                 <to customId="true" id="_to1" uri="file:work/cbr/output/uk"/>
>             </when>
>             <when customId="true" id="_when2">
>                 <xpath id="_xpath2">/order:order/order:customer/order:country 
> = 'US'</xpath>
>                 <log customId="true" id="_log3" message="Sending order 
> ${file:name} to the US"/>
>                 <to customId="true" id="_to2" uri="file:work/cbr/output/us"/>
>             </when>
>             <otherwise customId="true" id="_otherwise1">
>                 <log customId="true" id="_log4" message="Sending order 
> ${file:name} to another country"/>
>                 <to customId="true" id="_to3" 
> uri="file:work/cbr/output/others"/>
>             </otherwise>
>         </choice>
>         <log customId="true" id="_log5" message="Done processing 
> ${file:name}"/>
>     </route>
> </routes>
> {noformat}
> - Then use addOrUpdateRoutesFromXml to upload the exact same xml, you will 
> get exceptions when the When code is invoked:
> {noformat}
> Message History
> ---------------------------------------------------------------------------------------------------------------------------------------
> RouteId              ProcessorId          Processor                           
>                                              Elapsed (ms)
> [cbr-route         ] [cbr-route         ] [file://work/cbr/input              
>                                            ] [         1]
> [cbr-route         ] [_log1             ] [log                                
>                                            ] [         0]
> [cbr-route         ] [_choice1          ] [when[xpath{XPath: 
> /order:order/order:customer/order:country = 'UK'}]choice[whe] [         1]
> Stacktrace
> ---------------------------------------------------------------------------------------------------------------------------------------
> org.apache.camel.builder.xml.InvalidXPathExpression: Invalid xpath: 
> /order:order/order:customer/order:country = 'UK'. Reason: 
> javax.xml.xpath.XPathExpressionException: 
> com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception: Prefix 
> must resolve to a namespace: order
>       at 
> org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:769)
>       at 
> org.apache.camel.builder.xml.XPathBuilder.matches(XPathBuilder.java:155)
>       at 
> org.apache.camel.processor.FilterProcessor.matches(FilterProcessor.java:65)
>       at 
> org.apache.camel.processor.ChoiceProcessor.process(ChoiceProcessor.java:93)
>       at 
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77)
>       at 
> org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468)
>       at 
> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
>       at org.apache.camel.processor.Pipeline.process(Pipeline.java:121)
>       at org.apache.camel.processor.Pipeline.process(Pipeline.java:83)
>       at 
> org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:196)
>       at 
> org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:454)
>       at 
> org.apache.camel.component.file.GenericFileConsumer.processBatch(GenericFileConsumer.java:226)
>       at 
> org.apache.camel.component.file.GenericFileConsumer.poll(GenericFileConsumer.java:190)
>       at 
> org.apache.camel.impl.ScheduledPollConsumer.doRun(ScheduledPollConsumer.java:175)
>       at 
> org.apache.camel.impl.ScheduledPollConsumer.run(ScheduledPollConsumer.java:102)
>       at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
>       at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
>       at 
> java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>       at java.lang.Thread.run(Thread.java:745)
> Caused by: javax.xml.xpath.XPathExpressionException: 
> com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception: Prefix 
> must resolve to a namespace: order
>       at 
> com.sun.org.apache.xpath.internal.jaxp.XPathImpl.compile(XPathImpl.java:400)
>       at 
> org.apache.camel.builder.xml.XPathBuilder.createXPathExpression(XPathBuilder.java:958)
>       at 
> org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:767)
>       ... 21 more
> Caused by: 
> com.sun.org.apache.xpath.internal.domapi.XPathStylesheetDOM3Exception: Prefix 
> must resolve to a namespace: order
>       at 
> com.sun.org.apache.xpath.internal.compiler.XPathParser.errorForDOM3(XPathParser.java:657)
>       at 
> com.sun.org.apache.xpath.internal.compiler.Lexer.mapNSTokens(Lexer.java:642)
>       at 
> com.sun.org.apache.xpath.internal.compiler.Lexer.tokenize(Lexer.java:269)
>       at 
> com.sun.org.apache.xpath.internal.compiler.Lexer.tokenize(Lexer.java:100)
>       at 
> com.sun.org.apache.xpath.internal.compiler.XPathParser.initXPath(XPathParser.java:114)
>       at com.sun.org.apache.xpath.internal.XPath.<init>(XPath.java:180)
>       at com.sun.org.apache.xpath.internal.XPath.<init>(XPath.java:268)
>       at 
> com.sun.org.apache.xpath.internal.jaxp.XPathImpl.compile(XPathImpl.java:392)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to