2

この選択でセッション変数がnullまたは空であるかどうかを確認するにはどうすればよいですか?それは私にとっては機能しません。

    <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>

また、!=''と!=nullを試しました

4

2 に答える 2

4

Mule 3.3.xを使用している場合は、GroovyよりもMELを使用することをお勧めします。

<when expression="#[org.mule.util.StringUtils.isNotEmpty(sessionVars.countryCode)]">
于 2012-09-04T19:53:59.253 に答える
2

無効なGroovy式を使用しています。そのはず:

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

ヘッダーエバリュエーターを使用してプロパティにアクセスすることもできますが、それがnullか空かを評価できるかどうかはわかりません

于 2012-09-04T13:08:18.807 に答える