Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется к: Azure Logic Apps (Расход + Стандарт)
В рамках интеграции предприятий (B2B) может потребоваться преобразовать XML между форматами. Рабочий процесс приложения логики может преобразовать XML с помощью действия Преобразования XML и предопределенной карты.
Например, предположим, что вы регулярно получаете заказы или счета B2B от клиента, использующего формат даты YearMonthDay (ГГГГММДД). Однако в организации используется формат даты MonthDayYear (MMDDYYYY). Вы можете создать и использовать карту, которая преобразует формат YearMonthDay в формат MonthDayYear, прежде чем хранить сведения о заказе или счете в базе данных действий клиента.
Предпосылки
Учетная запись и подписка Azure. Если у вас еще нет подписки, зарегистрируйтесь для бесплатной учетной записи Azure.
Рабочий процесс логического приложения, который уже начинается с триггера, чтобы можно добавить действие преобразования XML в нужном месте в вашем рабочем процессе.
Ресурс учетной записи интеграции, в котором вы определяете и храните элементы, такие как торговые партнеры, соглашения, сертификаты и т. д., для использования в B2B и интеграционных рабочих процессах предприятия. Этот ресурс должен соответствовать следующим требованиям:
Является частью той же подписки Azure, что и ресурс логического приложения.
Существует в том же расположении или регионе Azure, что и ресурс логического приложения, в котором вы планируете использовать действие Transform XML.
Если вы работаете с ресурсом приложения логики потребления и рабочим процессом, ваша учетная запись интеграции требует следующих элементов:
Карта, используемая для преобразования XML-содержимого.
Если вы работаете с ресурсом логического приложения Standard и рабочим процессом, вы можете ассоциировать учетную запись интеграции с ресурсом логического приложения, загрузить карты непосредственно в ресурс логического приложения, или сделать и то, и другое, в зависимости от следующих сценариев:
Если у вас уже есть учетная запись интеграции с необходимыми артефактами, вы можете связать эту учетную запись с несколькими ресурсами логических приложений уровня "Стандартный", где вы хотите использовать эти артефакты. Таким образом, вам не нужно отправлять карты в каждое отдельное приложение логики. Дополнительные сведения см. в статье "Связывание ресурса приложения логики с учетной записью интеграции".
Если у вас нет учетной записи интеграции или планируется использовать артефакты в нескольких рабочих процессах в одном ресурсе приложения логики, вы можете напрямую добавить карты в ресурс приложения логики с помощью портала Azure или Visual Studio Code.
Замечание
Встроенный коннектор Liquid позволяет выбрать ранее загруженную карту, которую вы отправили в ресурс логического приложения или в связанную учетную запись интеграции, но не в оба.
Таким образом, если у вас нет или не нужна учетная запись интеграции, можно использовать опцию загрузки. В противном случае можно использовать параметр связывания. Так или иначе, эти артефакты можно использовать во всех дочерних рабочих процессах в одном логическом приложении.
Для хранения других артефактов, таких как партнеры, соглашения и сертификаты, а также операции AS2, X12 и EDIFACT , по-прежнему требуется учетная запись интеграции.
Добавить действие преобразования XML
На портале Azure откройте ваше стандартное приложение логики и рабочий процесс в конструкторе.
Если у вас есть пустой рабочий процесс, у которого нет триггера, выполните следующие общие действия, чтобы добавить любой нужный триггер. В противном случае перейдите к следующему шагу.
В этом примере используется триггер запроса .
На шаге рабочего процесса, в котором необходимо добавить действие Преобразования XML , выполните следующие общие действия, чтобы добавить действие с именем Transform XML.
В поле "Содержимое " укажите XML-содержимое, которое требуется преобразовать с помощью всех XML-данных, получаемых в HTTP-запросе.
Чтобы выбрать выходные данные из предыдущих операций в рабочем процессе, в действии преобразования XML щелкните внутри поля содержимого и выберите параметр списка динамического содержимого (значок молнии).
В списке динамического содержимого выберите маркер для содержимого, которое требуется преобразовать.
В этом примере выбирается маркер body из триггера.
Замечание
Убедитесь, что выбрано XML-содержимое. Если содержимое не является XML или закодировано в кодировке Base64, необходимо указать выражение, обрабатывающее содержимое. Например, можно использовать функции выражений, например
base64ToBinary()декодировать содержимое илиxml()обрабатывать содержимое как XML.
В списке Источник карт выберите место, в которое вы загрузили карту, либо ресурс LogicApp, либо IntegrationAccount.
В списке "Карта" выберите карту.
Закончив работу, сохраните свой рабочий процесс.
Теперь вы завершили настройку действия Преобразования XML. В реальном приложении может потребоваться сохранить преобразованные данные в бизнес-приложении, например SalesForce. Чтобы отправить преобразованные выходные данные в Salesforce, добавьте действие Salesforce.
Чтобы протестировать действие преобразования, активируйте и запустите рабочий процесс. Например, для триггера запроса отправьте запрос в URL-адрес конечной точки триггера.
Действие преобразования XML выполняется после активации рабочего процесса и когда xml-содержимое доступно для преобразования.
Расширенные возможности
Используйте ссылки на сборки или вызывайте пользовательский код в картах
Действие Transform XML поддерживает ссылки на внешние сборки из карт, которые позволяют напрямую вызывать пользовательский код .NET из карт XSLT. Дополнительные сведения см. в статье "Добавление карт XSLT для рабочих процессов в Azure Logic Apps".
Объекты расширения ссылок
В стандартных рабочих процессах действие Преобразования XML поддерживает указание объекта расширения XML для использования с картой.
В действии преобразования XML откройте список расширенных параметров и выберите объект расширения XML, который добавляет параметр в действие.
В поле объекта расширения XML укажите объект расширения, например:
Отметка порядка байтов
По умолчанию ответ преобразования начинается с метки порядка байтов (BOM). Доступ к этой функции можно получить только в редакторе представлений кода. Чтобы отключить эту функцию, установите для свойства transformOptions значение disableByteOrderMark:
"Transform_XML": {
"inputs": {
"content": "@{triggerBody()}",
"integrationAccount": {
"map": {
"name": "TestMap"
}
},
"transformOptions": "disableByteOrderMark"
},
"runAfter": {},
"type": "Xslt"
}