Я столкнулся с этой проблемой при переходе от мышления Mule 3 к Mule 4. Причина вашей ошибки в том, что тип вашей переменной - XML, но вы пытаетесь записать в нем не-xml.
Вывод payload.Weather.City
- это строковый литерал London,uk
, который не является допустимым XML.Есть несколько вариантов решения этой проблемы.
- Вывести действительный XML в переменную
<set-variable value="#[City: payload.Weather.City]" doc:name="Set Variable" variableName="test" />
. Значение переменной будет установлено как <City>London,uk</City
, чтодействителен XML
Измените тип переменной
Если вы просто надеетесь сохранить String London,uk
для последующего использования, тогда вы можете явно установить тип вывода компонента set variable в java.
<set-variable value="#[output application/java --- payload.Weather.City]" doc:name="Set Variable" variableName="test" />