Разница между набором переменных вызова с использованием преобразователя Message Properties и преобразователя set-variable?

Контекст вопроса таков: когда я использую set-variable, то datamapper распознает и показывает переменную в раскрывающемся списке, но она никогда не появляется, когда переменная вызова устанавливается с помощью преобразователя свойств сообщения. Это нормально?


person shrinathM    schedule 09.10.2014    source источник
comment
Обратите внимание, что DataMapper — это функция Enterprise Edition, поэтому вы сможете получить профессиональную поддержку MuleSoft по этому вопросу.   -  person David Dossot    schedule 10.10.2014


Ответы (2)


Message Properties Transformer — это старый способ добавления переменных/свойств различной области действия к сообщению.

Мул усовершенствовал преобразователь свойств сообщения и разделил его на преобразователи <set-variable>, <set-property> и <set-session-variable>. Помимо четкого разделения функций, это делает поток более читабельным и понятным при взгляде на блок-схему.

Следует помнить, что свойства сообщения по умолчанию добавляют это свойство в область исходящего трафика. Если вы хотите добавить его в область вызова, это должно быть указано в атрибуте области.

<message-properties-transformer scope="invocation">
    <add-message-property key="someKey" value="someValue"/>
</message-properties-transformer>

Надеюсь это поможет.

person user1760178    schedule 09.10.2014
comment
Я вижу это поведение после установки области действия для самого вызова. Еще одно наблюдение: если я создаю переменную вызова внутри groovy-сопоставителя данных скрипта, она не распознается. Кажется, что только set-variable виден для картографов данных. - person shrinathM; 10.10.2014
comment
@RyanHoegg Спасибо за наблюдение. Я отредактировал это правильно сейчас. :) - person user1760178; 10.10.2014

Нет, это ненормально.

Обязательно используйте область invocation в преобразователе свойств сообщения.

person David Dossot    schedule 09.10.2014
comment
Я сделал Дэвида. Кроме того, если внутри скрипта Groovy задана какая-либо переменная вызова, эта переменная не отображается в раскрывающемся списке средства отображения данных. Отображаются только переменные, установленные из set-variable. Здесь меня интересуют только переменные вызова. Я не экспериментировал с другими переменными. - person shrinathM; 10.10.2014
comment
Тогда это похоже на ошибку: откройте JIRA по адресу mulesoft.org/jira. И, как сказал пользователь1760178, message-properties-transformer это старый материал, вы все равно должны использовать set-variable. - person David Dossot; 10.10.2014
comment
Я думаю, что функция Data Mapper, которую вы ищете, называется Data Sense, и я не думаю, что она сможет получить необходимые метаданные из groovy script. Однако должна быть возможность добавить его в преобразователь свойств сообщения. - person Ryan Hoegg; 10.10.2014
comment
Почему бы и нет? Можно установить свойства сообщения из скрипта Groovy. Эти свойства должны быть видны Data Mapper. - person David Dossot; 10.10.2014