I am not sure what is the difference in both ways here is how I am creating the
switch:
<switch source="//Message/header/msgType">
<case regex="RequesResponse">
<validate>
<schema key="Message01"/>
<on-fail>
<sequence key="ValidationFaultSequence" />
</on-fail>
</validate>
</case>
<case regex="Publish">
<validate>
<schema key=" Message02"/>
<on-fail>
<sequence key="ValidationFaultSequence" />
</on-fail>
</validate>^M
</case>
</switch>
This exact switch works if the name space of the document is removed, and does
not work otherwise.
Please advise.
Thanks & Regards,
Abid
-----Original Message-----
From: Supun Kamburugamuva [mailto:[email protected]]
Sent: Thursday, October 07, 2010 8:29 PM
To: [email protected]
Subject: Re: If the message has name space setting the switch mediator does not
work?
I believe you are using XPath to get a value of a element. You can write a
Xpath in such a way that it works both with namespace qualified elements as
well as normal elements.
Thanks,
Supun..
On Tue, Sep 28, 2010 at 9:12 PM, Abid Khan-EXT <[email protected]>wrote:
> Hello all,
>
> I am receiving a message and the switch works if I take the namespace
> string out of the message, but I cannot tell the sender to remove it. Is
> there anything I can do that synapse can handle the name space.
>
> Message that starts with something like this is not handled properly, by
> "switch" mediator.
>
> <Request xmlns="http://www.company.com/test" xmlns:xsi="
> http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="
> http://www.company.com/test ../test/Request.xsd">
>
>
> Thanks & Regards,
>
> Abid Khan
> Java Consultant
>
>
>
--
Tech Lead, WSO2 Inc
http://wso2.org
supunk.blogspot.com