Мне нужно создать рабочий процесс Logic Apps с тремя шагами:
Когда HTTP-запрос получен (JSON) Преобразование Json из запроса в XML Сохранить XML-файл на FTPЧто я до сих пор:
Когда HTTP-запрос получен (JSON) Добавить Liquid для преобразования JSON в XML (но я не вижу опции JSON для XML ... Только Tranform JSON to JSON, JSON to TEXT, XML для JSON, XML to TEXT) Преобразование Json из запроса в XMLЯ также создал учетную запись интеграции и попытаюсь добавить карту для отображения JSON в XML, но я не могу найти примеры / шаблоны для этого ...
Возможно ли вообще? Может быть, есть другой способ конвертировать между этими двумя форматами?
Когда вы просто хотите преобразовать полезную нагрузку JSON в файл XML, не делая никакого преобразования в данные, вы можете использовать встроенную функцию xml () языка определения рабочего процесса.
Подробное info in docs: Определение рабочего потока Ссылка на язык #xml
Я сделал небольшое тестовое приложение Logic для демонстрации вашей учетной записи. Это выглядит так:
Определение рабочего процесса Ссылка на язык #xml
Как вы можете видеть, я использую функцию xml для триггера @xml(triggerBody()) в качестве входа для моего содержимого файла FTP.
Примечание. Это будет работать, только если ваше сообщение JSON имеет один rootnode. В противном случае преобразование xml завершится ошибкой. Вы получите эту ошибку:
Предоставляемое значение не может быть преобразовано в XML: «Корневой объект JSON имеет несколько свойств. Корневой объект должен иметь одно свойство, чтобы создать допустимый XML-документ. Рассмотрим указание DeserializeRootElementName.Вы можете обойти это, объединив rootnode в свою полезную нагрузку JSON. Функция тогда будет выглядеть так: @xml(json(concat('{\"rootnode\":',triggerBody(),'}')))
Удачи, проверяя это. Дайте мне знать, если вам нужна дополнительная помощь.