Hi Dilusha,
Since you have defined is as path parameter in the template, you must use '
uri.var.id' instead of 'query.param.id' in the filter mediator like below.
<filter source="get-property('uri.var.id')" regex="/^([A-Za-z0-9_\-\.])+\@
([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/">
On Sat, Nov 25, 2017 at 11:37 AM, Dilusha Alphonso <[email protected]> wrote:
> Hi All,
>
> Requirement: I need to check a condition " Patient ID is the email address
> of given patient". When I give any string to the ID, it must be an email
> address. I have to validate ID whether it is in email format. For this, I
> used the filter mediator in ESB, But I noticed my request didn't go through
> that filter mediator.
>
> I attached my API configuration in ESB. Please, anyone, help me to
> validate the email address with ID.
>
> <api xmlns="http://ws.apache.org/ns/synapse" name="Durdan"
> context="/test">
> <resource methods="GET" uri-template="/{id}">
> <inSequence>
> <property name="SymboValue" expression="get-property('uri.var.id
> ')"/>
> <filter source="get-property('query.param.id')"
> regex="/^([A-Za-z0-9_\-\.])+\@([A-Za-z0-9_\-\.])+\.([A-Za-z]{2,4})$/">
> <then>
>
> <payloadFactory media-type="xml">
> <format>
> <soapenv:Envelope xmlns:soapenv="http://schemas.
> xmlsoap.org/soap/envelope/">
> <soapenv:Header>
> <some>17</some>
> </soapenv:Header>
> <soapenv:Body>
> <ser:readMediData xmlns:ser="http://service.
> sample.durdans.com">
> <ser:patientId>$1</ser:patientId>
> </ser:readMediData>
> </soapenv:Body>
> </soapenv:Envelope>
> </format>
> <args>
> <arg evaluator="xml" expression="get-property('uri.
> var.id')"/>
> </args>
> </payloadFactory>
> <header name="Action" value="urn:readMediDataRecords"/>
> <property name="SOAPAction" value="urn:readMediData"
> scope="transport"/>
> <send>
> <endpoint>
> <address uri="Endpoint URL" format="soap11"/>
> </endpoint>
> </send>
> <respond/>
> <property name="messageType" value="application/soap+xml"
> scope="axis2" type="STRING"/>
> </then>
> <else>
> <log level="custom">
> <property name="Inside the outsequence" value="
> deefeeeeeeeeeeeeeeeeeeee"/>
> </log>
> </else>
> </filter>
> </inSequence>
> <outSequence>
> <send/>
> </outSequence>
> </resource>
> </api>
>
> Thanks
> Dilusha
>
>
>
>
>
> before loop back to out sequence whether the USER_NAME and PATIENT_ID are
> equal.
>
> --
>
>
> *Best Regards,Dilusha Alphonso*
>
> *Software Engineer - Support Team*
>
>
> *WSO2*
> *Mobile : *
>
> *+94766837098 <+94%2076%20683%207098>[image: http://wso2.com/signature]
> <http://wso2.com/signature>*
>
> _______________________________________________
> Dev mailing list
> [email protected]
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>
--
Thanks
Abimaran Kugathasan
Senior Software Engineer - API Technologies
Email : [email protected]
Mobile : +94 773922820
<http://stackoverflow.com/users/515034>
<http://lk.linkedin.com/in/abimaran> <http://www.lkabimaran.blogspot.com/>
<https://github.com/abimarank> <https://twitter.com/abimaran>
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev