2014-11-30 3 views
0

Я использую очень простой поток, где я попытался установить атрибут сообщения (для SQS) в flowVars, чтобы он отражался в моя очередь SQS. Я использовал эту ссылку https://github.com/mulesoft/sqs-connector/blob/master/src/test/resources/automation-test-flows.xml для ссылок (в ссылке, на которую они ссылались, используя поток vars). Но я получаю сообщение об ошибке, какСообщение Amazon SQS и «Не удалось найти трансформатор для преобразования SimpleDataType ...»

"Could not find a transformer to transform "SimpleDataType{type=java.lang.String,mimeType='*/*'}" to "SimpleDataType{type=java.util.Map,  mimeType='*/*'}". (org.mule.api.transformer.TransformerException)" 

Pleasse найти мой конфигурационный XML

<flow name="sqsFlow1" doc:name="sqsFlow1"> 
    <sqs:receive-messages config-ref="Amazon_SQS" doc:name="Amazon SQS (Streaming)" numberOfMessages="5" visibilityTimeout="11"/> 
    <set-variable variableName="setMessageAtt" value="[name:&quot;John&quot;]" doc:name="Variable"/> 
    sqs:send-message config-ref="Amazon_SQS1" doc:name="Amazon SQS" > 
     <sqs:message-attributes ref="#[flowVars.setMessageAtt]"/> 
    </sqs:send-message> 
    </flow> 

Я понимаю значение, которое я пытаюсь вернуться в String, но ожидает Map. Есть ли способ изменить строку vaue в самой Map внутри самой переменной потока (Via MEL). Если нет, то как мы можем справиться с этим сценарием. Я пробовал несколько сценариев, но он не работает.

Ваша помощь не требуется. Спасибо заранее.

ответ

1

В мул вы можете представлять карту как: #[key1 : value1, key2 : value2, . . .]

Например, с Мелом:

#[['title':'value','description':'value','status':'404','bit': false]] 

эквивалентно

Map<String, Object> 

Я надеюсь помочь;

+0

Спасибо за отзыв. – star