문제

How can I check if my session variable is null or empty in this CHOICE Its not working for me.

    <processor-chain doc:name="Processor Chain">
        <choice> 
            <when evaluator="groovy" expression="#[header:session:countryCode] != ">                    
                <logger message="Valid Country Id" level="INFO" doc:name="Logger"/>                 
            </when>            
            <otherwise>
                <logger message="Invalid Country Id" level="INFO" doc:name="Logger"/>                   
            </otherwise>
        </choice>           
    </processor-chain>

I also tried != '' and != null

도움이 되었습니까?

해결책

You are using an invalid groovy expression. It should be:

    ...
    <when expression="message.getProperty('countryCode',org.mule.api.transport.PropertyScope.SESSION)!=null 
                      || message.getProperty('countryCode',org.mule.api.transport.PropertyScope.SESSION)!=''"
    evaluator="groovy">
    ...

You can also access properties with Header evaluator but I'm not sure if you can evaluate to find out if it is null or empty

다른 팁

If you're using Mule 3.3.x, better use MEL than Groovy:

<when expression="#[org.mule.util.StringUtils.isNotEmpty(sessionVars.countryCode)]">
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top