Charles,

I think you still need to reference to your Namespace object in your xpath method call, something like xpath("//SwInt:requestore"), ns)

Gert

cmoulliard wrote:
This is not an error related to the expression because I have the same error
if I use the syntax //SwInt:Requestor

Remark : as explained If I uncomment Namespaces, the same error is reported
too


James.Strachan wrote:
BTW are you sure this isn't just a bug in your namespace expression? e.g.

/SwInt:Requestor

is not the root element. Try the // hack?

2008/7/8 James Strachan <[EMAIL PROTECTED]>:
What happens if you uncommend the Namespaces line? FWIW you have to
define namespace prefixes to use XPath effectively with namespaced XML

2008/7/8 cmoulliard <[EMAIL PROTECTED]>:
Hi,

When I try to make a XPATH search on an XML document, I receive the
following error :

"xpath prefix must resolve to a namespace : SwInt"

Here is a snapshot of the XML file and my code :

<?xml version="1.0" encoding="UTF-8"?>
<SwInt:HandleRequest
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
                    xmlns:SwInt="urn:swift:snl:ns:SwInt"
                    xmlns:Sw="urn:swift:snl:nsSw">
<SwInt:RequestHandle>
<SwInt:RequestDescriptor>

<SwInt:SwiftRequestRef>SNL31681-2007-06-01T12:27:31.8052.000006Z</SwInt:SwiftRequestRef>

<SwInt:SwiftRef>swi00006-2007-06-01T12:27:32.20833.17813791Z</SwInt:SwiftRef>
       <SwInt:NonRep>
                       <SwInt:NRType>SVCMAND</SwInt:NRType>
       </SwInt:NonRep>
       <SwInt:ValidationDescriptor>
                       <SwInt:ValResult>Success</SwInt:ValResult>
       </SwInt:ValidationDescriptor>
       <Sw:SnFOutputInfo>
<Sw:SnFSessionId>frimlull_fundstest!p:p:722950</Sw:SnFSessionId>
               <Sw:SnFOutputSeq>392</Sw:SnFOutputSeq>
               <Sw:DeliveryTime>2007-06-01T12:27:34Z</Sw:DeliveryTime>
       </Sw:SnFOutputInfo>
       <SwInt:MRRResult>
           <SwInt:SNLId>snl31681</SwInt:SNLId>
           <SwInt:SNLEP>snl_ap2</SwInt:SNLEP>
       </SwInt:MRRResult>
</SwInt:RequestDescriptor>
<SwInt:RequestHeader>
<SwInt:Requestor>ou=funds,o=FETALULL,o=swift</SwInt:Requestor> <SwInt:Responder>ou=funds,o=frimlull,o=swift</SwInt:Responder>
                       <SwInt:Service>swift.if.ia!p</SwInt:Service>
<SwInt:RequestType>setr.007.001.03</SwInt:RequestType>
                       <SwInt:Priority>Normal</SwInt:Priority>
<SwInt:RequestRef>627.000734.0001</SwInt:RequestRef>
</SwInt:RequestHeader>
<SwInt:RequestPayload>
                       <AppHdr xmlns="urn:swift:xsd:$ahV10">
                               <MsgName>setr.007.001.03</MsgName>
                               <MsgRef>MINTAD01-10SR</MsgRef>
<CrDate>2007-05-30T16:02:04+02:00</CrDate>
                       </AppHdr>
...
</SwInt:RequestPayload>
</SwInt:RequestHandle>
</SwInt:HandleRequest>

public class AuthenticateCompany extends RouteBuilder {

       @Override
       public void configure() {

       //Namespaces ns = new Namespaces("SwInt",
"urn:swift:snl:ns:SwInt");

errorHandler(deadLetterChannel("seda:errors").maximumRedeliveries(1)
                               .useExponentialBackOff());

               from("file:///c:/temp/test").choice()

.when().xpath("/SwInt:Requestor/text()='ou=funds,o=FETALULL,o=swift'").setHeader("companyName").xpath("/SwInt:Requestor/text()",
String.class).to("activemq:queue:swift.in.queue")
               .otherwise().to("activemq:queue:rejectedmessages.queue");


       }

}

Remark : the code does not work too if I define Namespaces ns

Regards,

Charles
--
View this message in context:
http://www.nabble.com/Xpath-Prefix-NameSpace-Error-%21-tp18338783s22882p18338783.html
Sent from the Camel - Users mailing list archive at Nabble.com.



--
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://open.iona.com


--
James
-------
http://macstrac.blogspot.com/

Open Source Integration
http://open.iona.com




Reply via email to