Expression Component in Mule



Expression Component in Mule

This component evaluates an expression. It accepts either a user-defined expression or a reference to a file.Unlike the Expression Transformer, the expression component does not replace the message payload with the results of expression evaluation.


flow of expression component :




Expression component configuration :

I have defined an expression to match input header that is name = = Himanshu




URL : http://localhost:8085/api/exp
Method : GET

Output :




XML project code :


<?xml version="1.0" encoding="UTF-8"?>

<mule xmlns:http="http://www.mulesoft.org/schema/mule/http" xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/http http://www.mulesoft.org/schema/mule/http/current/mule-http.xsd">
    <http:listener-config name="HTTP_Listener_Configuration" host="0.0.0.0" port="8085" basePath="/api" doc:name="HTTP Listener Configuration"/>
    <flow name="test_expressioncompFlow">
        <http:listener config-ref="HTTP_Listener_Configuration" path="/exp" doc:name="HTTP"/>
        <expression-component doc:name="Expression"><![CDATA[message.inboundProperties.name=='Himanshu']]></expression-component>
        <set-payload value="expression matched !!" doc:name="Set Payload"/>

    </flow>

</mule>