2014-12-31 6 views
0

구성 파일에서 값을 읽어야하고 포함 된 MEL 문과 관련된 문제가 계속 발생합니다. 여러 막 다른 골목을 뒤지고 아이디어가 없습니다. 나는 세션 변수를 사용하여 아주 간단한 예제로 그것을 추출했다. 복합 MEL 문에 문제가 있습니다.

감사합니다,
- 돈

아래의 코드와 함께 실패
메시지 : 오류 : 누락 왼쪽 노드]
[근처 : {... message.payload.contains (# [sessionVars [ 'valueToMatch']) ...}]

<set-session-variable variableName="valueToMatch" value="Now we are engaged in a great civil war" />   
    <choice doc:name="Choice"> 
     <when expression="#[message.payload.contains(#[sessionVars['valueToMatch']])]"> 
      <set-session-variable variableName="success" value="true" />   
     </when> 
     <otherwise> 
      <set-session-variable variableName="success" value="false" />  
     </otherwise> 
    </choice> 

다음 코드 작동 반면 :

<choice doc:name="Choice"> 
     <when expression="#[message.payload.contains('Now we are engaged in a great civil war')]"> 
      <set-session-variable variableName="success" value="true" />   
     </when> 
     <otherwise> 
      <set-session-variable variableName="success" value="false" />  
     </otherwise> 
    </choice> 

답변

1

내 생각 엔이 문제는 표현의 내부 분리 식을 가하고 있다는 점이다,이 시도 : 대신

"#[message.payload.contains(#[sessionVars['valueToMatch']])]" 
+0

이것은 작동합니다. 고맙습니다. 나는 그 대답에 감사 드린다. –

1

"#[message.payload.contains(sessionVars['valueToMatch'])]" 

을이 #[message.payload contains valueToMatch]을 시도 ... 그것은 것 완벽하고 단순하게 작동합니다. -

<set-session-variable variableName="valueToMatch" value="Now we are engaged in a great civil war" />   
    <choice doc:name="Choice"> 
     <when expression="#[message.payload contains valueToMatch]"> 
      <set-session-variable variableName="success" value="true" />   
     </when> 
     <otherwise> 
      <set-session-variable variableName="success" value="false" />  
     </otherwise> 
    </choice> 
+0

아주 잘 작동하고 아주 좋고 간단합니다. 감사합니다. –

+0

유용 할 경우 .. 대답으로 받아들입니다. –