Обмен сообщениями EDIFACT с помощью рабочих процессов в Azure Logic Apps

Чтобы отправлять и получать сообщения EDIFACT в рабочих процессах, создаваемых с помощью Azure Logic Apps, используйте соединитель EDIFACT , который предоставляет операции, поддерживающие обмен данными EDIFACT и управляющие ими.

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

технический справочник по Подключение or

Соединитель EDIFACT имеет разные версии, основанные на типе приложения логики и среде узла.

Приложение логики Среда Версия соединителя
Потребление мультитенантные Azure Logic Apps Управляемый соединитель EDIFACT (класс Standard). Соединитель EDIFACT предоставляет только действия, но можно использовать любой триггер, который работает в вашем сценарии. Дополнительные сведения см. в следующей документации:

- Справочник по управляемому соединителю EDIFACT
- Ограничения сообщений EDIFACT
Потребление Среда службы интеграции (ISE) Управляемый соединитель EDIFACT (класс Standard) и версия ISE EDIFACT, которая имеет разные ограничения сообщений, отличные от класса Standard. Соединитель EDIFACT предоставляет только действия, но можно использовать любой триггер, который работает в вашем сценарии. Дополнительные сведения см. в следующей документации:

- Справочник по управляемому соединителю EDIFACT
- Ограничения сообщений EDIFACT
Стандартные Azure Logic Apps с одним клиентом и Среда службы приложений версии 3 (только планы Windows) Встроенный соединитель EDIFACT (предварительная версия) и управляемый соединитель EDIFACT . Встроенная версия отличается следующим образом:

— Встроенная версия предоставляет только действия, но можно использовать любой триггер, который работает в вашем сценарии.

— Встроенная версия может напрямую получить доступ к виртуальным сетям Azure. Вам не нужен локальный шлюз данных.

Дополнительные сведения см. в следующей документации:

- Справочник по управляемому соединителю EDIFACT
- Встроенные операции соединителя EDIFACT
- Ограничения сообщений EDIFACT

Встроенные операции EDIFACT (только стандартные рабочие процессы — предварительная версия)

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

Известные проблемы и ограничения

  • Встроенный соединитель EDIFACT

    • Эта возможность входит в предварительную версию, и на нее распространяются Дополнительные условия использования предварительных версий Microsoft Azure.

    • Действия этого соединителя в настоящее время поддерживают полезные данные до не менее 100 МБ.

    • В настоящее время действие декодирования EDIFACT предварительной версии не включает следующие возможности:

      • Проверьте наличие повторяющихся контрольных номеров, групп и наборов транзакций, если настроено.

      • Сохраните весь обмен.

      В противном случае предварительный просмотр EDIFACT Encode и EDIFACT декодирование встроенных действий соединителя имеют возможности, аналогичные их действиям управляемого соединителя EDIFACT .

    • Действия этого соединителя в настоящее время не поддерживают обмены несколькими транзакциями или пакетными сообщениями.

    • Действия этого соединителя в настоящее время не выдают отслеживание EDI.

Необходимые компоненты

  • Учетная запись и подписка Azure. Если у вас еще нет подписки, зарегистрируйтесь и получите бесплатную учетную запись Azure.

  • Ресурс учетной записи интеграции, в котором вы определяете и сохраняете артефакты, такие как торговые партнеры, соглашения, сертификаты и т. д., для использования в рабочих процессах корпоративной интеграции и B2B. Этот ресурс должен соответствовать следующим требованиям.

    • Учетная запись интеграции и ресурс приложения логики должны существовать в одной подписке Azure и регионе Azure.

    • Определяет по крайней мере двух торговых партнеров , участвующих в операции EDIFACT , используемой в рабочем процессе. В определениях обоих партнеров должен использоваться один и тот же квалификатор бизнес-идентификатора. В нашем примере это ZZZ - Mutually Defined.

    • Определяет соглашение EDIFACT между торговыми партнерами, участвующими в рабочем процессе. Для каждого соглашения нужно указать главного партнера и гостевого партнера. Содержимое в сообщениях между вами и другим партнером должно соответствовать типу соглашения. Сведения о параметрах соглашения, используемых при получении и отправке сообщений, см . в параметрах сообщения EDIFACT.

      Важно!

      Соединитель EDIFACT поддерживает только символы UTF-8. Если в выходных данных содержатся неожиданные символы, убедитесь, что в сообщениях EDIFACT используется кодировка UTF-8.

  • В зависимости от того, работаете ли вы над рабочим процессом приложения логики "Потребление" или "Стандартный", ресурс приложения логики может потребовать ссылки на учетную запись интеграции:

    Рабочий процесс приложения логики Требуется ссылка?
    Потребление требуется Подключение ion и ссылка на учетную запись интеграции. При добавлении операции EDIFACT в рабочий процесс можно создать подключение.
    Стандартные Подключение для учетной записи интеграции требуется, но ссылка не требуется. При добавлении операции EDIFACT в рабочий процесс можно создать подключение.
  • Ресурс приложения логики и рабочий процесс, где необходимо использовать операции EDIFACT.

    Дополнительные сведения см. в следующей документации:

Кодирование сообщений EDIFACT

Действие управляемого соединителя EDIFACT с именем "Кодирование для сообщения EDIFACT" и встроенное действие соединителя EDIFACT с именем EDIFACT Encode выполняет следующие задачи, за исключением случаев, когда указано в ограничениях и известных проблемах:

  • Устраните соглашение путем сопоставления квалификатора отправителя и идентификатора и идентификатора получателя.

  • Сериализация электронного обмена данными (EDI), при которой закодированные в формате XML сообщения преобразуются в наборы транзакций EDI в обмене.

  • Применение сегментов заголовков и окончаний для наборов транзакций.

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

  • Замена разделителей в полезных данных.

  • Проверка свойств EDI и свойств для конкретных партнеров, таких как схема для элементов данных набора транзакций, в сравнении со схемой сообщений, проверка элементов данных набора транзакций, а также расширенная проверка элементов данных в наборе транзакций.

  • Создание XML-документа для каждого набора транзакций.

  • Запрашивание технического подтверждения и (или) функционального подтверждения, если настроены соответствующие параметры.

    • Техническим подтверждением является сообщение CONTRL, указывающее на получение обмена.

    • Функциональным подтверждением является сообщение CONTRL, информирующее о принятии или отклонении для полученного обмена, отдельной группы или сообщения, включая список ошибок или неподдерживаемых функциональных возможностей.

  1. На портале Azure откройте ресурс и рабочий процесс приложения логики в конструкторе.

  2. В конструкторе выполните следующие общие действия, чтобы добавить действие EDIFACT с именем Encode в сообщение EDIFACT по имени соглашения в рабочий процесс.

    Примечание.

    Если вы хотите использовать кодирование для сообщения EDIFACT по действиям удостоверений, позже необходимо предоставить различные значения, такие как идентификатор отправителя и идентификатор получателя, указанный в соглашении EDIFACT. Кроме того, необходимо указать XML-сообщение для кодирования, которое может быть выходными данными триггера или предыдущего действия.

  3. Укажите следующие сведения о подключении для учетной записи интеграции:

    Свойство Обязательное поле Описание
    Имя подключения Да Имя подключения
    Учетная запись интеграции Да В списке доступных учетных записей интеграции выберите нужную учетную запись.

    Например:

    Screenshot shows Azure portal, Consumption workflow, and connection box for action named Encode to EDIFACT message by agreement name.

  4. По завершении нажмите Создать.

  5. В действии EDIFACT укажите следующие значения свойств:

    Свойство Обязательное поле Описание
    Имя соглашения EDIFACT Да Соглашение EDIFACT, которое будет использоваться.
    Кодируемое сообщение XML Да Бизнес-идентификатор отправителя сообщения, указанный в соглашении EDIFACT
    Прочие параметры No Эта операция включает следующие другие параметры:

    - Разделитель элементов данных
    - Индикатор выпуска
    - Разделитель компонентов
    - Разделитель повторений
    - Признак конца сегмента
    - Суффикс конца сегмента
    - Десятичный индикатор

    Дополнительные сведения см . в параметрах сообщения EDIFACT.

    Например, полезные данные XML-сообщения для кодирования могут быть выходными данными содержимого текста из триггера запроса:

    Screenshot shows Consumption workflow, action named Encode to EDIFACT message by agreement name, and message encoding properties.

  6. Сохраните результаты своих действий.

Декодирование сообщений EDIFACT

Действие управляемого соединителя EDIFACT с именем Декодирования сообщения EDIFACT ивстроенное действие соединителя EDIFACT с именем EDIFACT Decode выполняет следующие задачи, за исключением случаев, когда указано в ограничениях и известных проблемах:

  • Проверка конверта на соответствие соглашению между торговыми партнерами

  • Определение соглашения путем сопоставления квалификатора и идентификатора отправителя с квалификатором и идентификатором получателя.

  • Разделение обмена на несколько наборов транзакций (если в нем есть несколько транзакций) на основе параметров получения соглашения.

  • Дизассемблирование обмена.

  • Проверка свойств электронного обмена данными (EDI) и свойств для конкретных партнеров, таких как структура конверта обмена, проверка схемы конверта в сравнении со схемой элементов управления, проверка схемы для элементов данных набора транзакций в сравнении со схемой сообщений, а также расширенная проверка элементов данных в наборе транзакций.

  • Убедитесь, что контрольные номера обмена, группы и набора транзакций не дублируются (только управляемый соединитель), например:

    • проверка контрольного номера на соответствие предыдущим обменам;

    • проверка контрольного номера группы на соответствие контрольным номерам групп в других обменах;

    • проверка контрольного номера набора транзакций на соответствие контрольным номерам других наборов транзакций в той же группе.

  • Разделите обмен на наборы транзакций или сохраните весь обмен (только управляемый соединитель), например:

    • Разделение обмена на наборы транзакций — приостановка наборов транзакций при ошибке.

      Действие декодирования разделяет обмен на наборы транзакций и анализирует каждый набор транзакций. Действие выводит только те наборы транзакций, которые не прошли проверку в badMessages, и выводит оставшиеся наборы транзакций в goodMessages.

    • Разделение обмена на наборы транзакций — приостановка обмена при ошибке.

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

    • Сохранение обмена — приостановка наборов транзакций при ошибке.

      Действие декодирования сохраняет обмен и обрабатывает весь обмен в пакете. Действие выводит только те наборы транзакций, которые не прошли проверку в badMessages, и выводит оставшиеся наборы транзакций в goodMessages.

    • Сохранение обмена — приостановка обмена при ошибке.

      Действие декодирования сохраняет обмен и обрабатывает весь обмен в пакете. Если один или несколько наборов транзакций, входящих в обмен, не проходят проверку, действие выводит все наборы транзакций этого обмена в badMessages.

  • Создание технического подтверждения и (или) функционального подтверждения, если настроены соответствующие параметры.

    • Техническое подтверждение (CONTRL ACK), которое выводит результаты синтаксической проверки для всего полученного обмена.

    • Функциональное подтверждение принятия или отклонения полученного обмена или группы.

  1. На портале Azure откройте ресурс и рабочий процесс приложения логики в конструкторе.

  2. В конструкторе выполните следующие общие действия, чтобы добавить действие EDIFACT с именем Декодирование сообщения EDIFACT в рабочий процесс.

  3. Укажите следующие сведения о подключении для учетной записи интеграции:

    Свойство Обязательное поле Описание
    Имя подключения Да Имя подключения
    Учетная запись интеграции Да В списке доступных учетных записей интеграции выберите нужную учетную запись.

    Например:

    Screenshot shows Consumption workflow designer and connection pane for the action named Decode EDIFACT message.

  4. По завершении нажмите Создать.

  5. В действии EDIFACT укажите следующие значения свойств:

    Свойство Обязательное поле Описание
    Сообщение неструктурированного файла EDIFACT для декодирования Да Декодируемое сообщение неструктурированного файла XML.
    Прочие параметры No Эта операция включает следующие другие параметры:

    - Разделитель компонентов
    - Разделитель элементов данных
    - Индикатор выпуска
    - Разделитель повторений
    - Признак конца сегмента
    - Суффикс конца сегмента
    - Десятичный индикатор
    - Кодировка полезных данных
    - Суффикс конца сегмента
    - Сохранение обмена
    - Приостановка обмена при ошибке

    Дополнительные сведения см . в параметрах сообщения EDIFACT.

    Например, декодируемые полезные данные сообщения XML могут быть выходным текстом триггера запроса:

    Screenshot shows Consumption workflow, action named Decode EDIFACT message, and message decoding properties.

Обработка сегментов UNH 2.5 в документах EDIFACT

В документе EDIFACT сегмент UNH2.5 используется для поиска схемы. Например, в этом примере сообщения EDIFACT поле UNH имеет значение EAN008:

UNH+SSDD1+ORDERS:D:03B:UN:EAN008

Чтобы обработать документ EDIFACT или сообщение EDIFACT с сегментом UN2.5, сделайте следующее:

  1. Обновите или разверните схему с именем корневого узла UNH2.5.

    Например, предположим, что корневым именем схемы для поля UNH в примере является EFACT_D03B_ORDERS_EAN008. Для каждого D03B_ORDERS с разными сегментами UNH 2.5 понадобится развернуть отдельную схему.

  2. В портал Azure добавьте схему в ресурс учетной записи интеграции или ресурс приложения логики в зависимости от того, имеется ли рабочий процесс приложения логики "Потребление" или "Стандартный".

  3. Независимо от того, какое действие EDIFACT вы используете (декодирования или кодирования), отправьте схему и настройте ее параметры в разделе Настройки получения или Настройки отправки соглашения EDIFACT соответственно.

  4. Чтобы изменить соглашение EDIFACT, в области Соглашения выберите свое соглашение. На панели инструментов Соглашения выберите команду Редактирование в качестве JSON.

    • В разделе соглашения receiveAgreement найдите раздел schemaReferences и добавьте значение UNH2.5.

      Screenshot showing the Azure portal with an EDIFACT agreement's

    • В разделе соглашения sendAgreement найдите раздел schemaReferences и добавьте значение UNH2.5.

      Screenshot showing the Azure portal with an EDIFACT agreement's

Следующие шаги