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 <dilu...@wso2.com> 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
> Dev@wso2.org
> http://wso2.org/cgi-bin/mailman/listinfo/dev
>
>


-- 
Thanks
Abimaran Kugathasan
Senior Software Engineer - API Technologies

Email : abima...@wso2.com
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
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to