Поделиться через


Сообщения Exchange EDIFACT для рабочих процессов B2B в Azure Logic Apps

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

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

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

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

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

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

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

— принимает неструктурированный файл в качестве входных данных и XML для управляемой версии.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Предварительные требования

  • Учетная запись и подписка Azure. Получите бесплатную учетную запись Azure.

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

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

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

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

      Внимание

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

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

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

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

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

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

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

  • Решите вопрос по соглашению, сопоставив квалификатор и идентификатор отправителя, а также квалификатор и идентификатор получателя.

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

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

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

  • Замените разделители в полезной нагрузке.

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

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

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

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

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

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

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

    Примечание.

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

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

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

    Например:

    Снимок экрана показывает портал Azure, рабочий процесс потребления и поле подключения для действия с именем

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

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

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

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

    Для получения дополнительной информации см. настройки сообщений EDIFACT.

    Например, полезная нагрузка для кодирования может представлять собой содержимое Body, полученное из триггера Request :

    Снимок экрана показывает рабочий процесс Consumption, действие с именем

  6. Сохраните ваш рабочий процесс.

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

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

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

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

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

  • Разбор узлов.

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

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

    • Проверьте контрольный номер обмена на соответствие ранее полученным обменам.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    Например:

    Снимок экрана: конструктор рабочего процесса Consumption и панель подключения для действия с именем

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

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

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

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

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

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

    Снимок экрана: рабочий процесс потребления, действие с именем

Обработка сегментов 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 с различным сегментом UNH2.5 понадобится развернуть отдельную схему.

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

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

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

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

      Снимок экрана: портал Azure с разделом

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

      Снимок экрана: портал Azure с разделом