Контекст вопроса таков: когда я использую set-variable, то datamapper распознает и показывает переменную в раскрывающемся списке, но она никогда не появляется, когда переменная вызова устанавливается с помощью преобразователя свойств сообщения. Это нормально?
Разница между набором переменных вызова с использованием преобразователя Message Properties и преобразователя set-variable?
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
Я вижу это поведение после установки области действия для самого вызова. Еще одно наблюдение: если я создаю переменную вызова внутри groovy-сопоставителя данных скрипта, она не распознается. Кажется, что только set-variable виден для картографов данных.
- person shrinathM; 10.10.2014
@RyanHoegg Спасибо за наблюдение. Я отредактировал это правильно сейчас. :)
- person user1760178; 10.10.2014
Нет, это ненормально.
Обязательно используйте область invocation
в преобразователе свойств сообщения.
person
David Dossot
schedule
09.10.2014
Я сделал Дэвида. Кроме того, если внутри скрипта Groovy задана какая-либо переменная вызова, эта переменная не отображается в раскрывающемся списке средства отображения данных. Отображаются только переменные, установленные из set-variable. Здесь меня интересуют только переменные вызова. Я не экспериментировал с другими переменными.
- person shrinathM; 10.10.2014
Тогда это похоже на ошибку: откройте JIRA по адресу mulesoft.org/jira. И, как сказал пользователь1760178,
message-properties-transformer
это старый материал, вы все равно должны использовать set-variable
.
- person David Dossot; 10.10.2014
Я думаю, что функция Data Mapper, которую вы ищете, называется Data Sense, и я не думаю, что она сможет получить необходимые метаданные из groovy script. Однако должна быть возможность добавить его в преобразователь свойств сообщения.
- person Ryan Hoegg; 10.10.2014
Почему бы и нет? Можно установить свойства сообщения из скрипта Groovy. Эти свойства должны быть видны Data Mapper.
- person David Dossot; 10.10.2014