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


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

Область применения: Azure Logic Apps (Потребление + Стандартный)

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

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

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

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

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

- Справочник по управляемому соединителю X12
- Ограничения сообщений X12
Стандартные Azure Logic Apps для одного пользователя, среда приложений App Service версии 3 (планы только Windows) и гибридное развертывание Встроенный соединитель X12, который отображается в коллекции соединителей в разделе "Встроенный" и управляемый соединитель X12, который отображается в коллекции соединителей в разделе "Общий". Управляемый соединитель X12 имеет один триггер и несколько действий. Встроенный соединитель X12 предоставляет только функции. Вы можете использовать любой триггер, который работает в вашем сценарии.

Встроенная версия отличается следующим образом:

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

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

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

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

Встроенные операции X12

В следующих разделах описываются встроенные операции соединителя X12 и их параметры:

Декодирование X12

Идентификатор операции: x12Decode

Декодирует сообщение X12 путем преобразования неструктурированного файла в формат XML.

Параметры
Показать имя Имя JSON Обязательное поле Тип Описание
Сообщение для декодирования messageToDecode Да String Сообщение X12 для декодирования.
Идентификатор отслеживания B2B b2bTrackingId No String Идентификатор отслеживания B2B.

Кодирование X12

Идентификатор операции: x12Encode

Кодирует сообщение X12 путем преобразования XML в формат неструктурированного файла.

Параметры
Показать имя Имя JSON Обязательное поле Тип Описание
Сообщение для кодирования messageToEncode Да String Сообщение X12 для кодирования.
Удостоверение отправителя Квалификатор отправителя senderIdentity.qualifier No String Квалификатор отправителя.
Идентификация отправителя Идентификатор отправителя senderIdentity.value No String Идентификатор отправителя.
Идентификатор приемника Квалификатор приемника receiverIdentity.qualifier No String Квалификатор приемника.
Идентификационные данные приемника и идентификатор приемника receiverIdentity.value No String Идентификатор получателя.
Имя соглашения X12 agreementName No String Название соглашения X12.
Идентификатор отслеживания B2B b2bTrackingId No String Идентификатор отслеживания B2B.

Кодирование пакета X12

Идентификатор операции: x12BatchEncode

Кодирует пакет сообщений X12 путем преобразования XML в формат неструктурированного файла.

Параметры
Показать имя Имя JSON Обязательное поле Тип Описание
Пакетные сообщения batchMessage.items Да Массив Сообщение X12 для кодирования.
КОД сообщения batchMessage.items.messageId Да String Уникальный идентификатор пакетного элемента.
Content batchMessage.items.content Да String Содержимое пакетного элемента.
Имя пакета batchMessage.batchName No String Имя пакета.
Имя секции batchMessage.partitionName No String Имя раздела.
Идентификатор отправителя Квалификатор отправителя senderIdentity.qualifier No String Квалификатор отправителя.
Идентификатор отправителя, персонализация отправителя senderIdentity.value No String Идентификатор отправителя.
Идентификатор приемника Квалификатор приемника receiverIdentity.qualifier No String Квалификатор приемника.
Идентификатор получателя Идентификатор приемника receiverIdentity.value No String Идентификатор получателя.
Имя соглашения X12 agreementName No String Название соглашения X12.
Идентификатор отслеживания B2B b2bTrackingId No String Идентификатор отслеживания B2B.

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

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

  • Ресурс приложения логики и рабочий процесс, в котором требуется использовать операции X12.

    Дополнительные сведения можно найти здесь

  • Ресурс учетной записи интеграции для определения и хранения артефактов для использования в рабочих процессах корпоративной интеграции и B2B.

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

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

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

      Внимание

      Если вы работаете с схемами "Переносимость медицинского страхования и подотчетность" (HIPAA), необходимо добавить schemaReferences раздел в соглашение. Дополнительные сведения см. в схемах и типах сообщений HIPAA.

    • Определяет схемы , используемые для проверки XML.

      Внимание

      Если вы работаете со схемами HIPAA, ознакомьтесь с разделом Схемы и типы сообщений HIPAA.

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

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

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

Операция кодирования сообщения X12 выполняет следующие задачи:

  • Разрешает соглашение путем сопоставления свойств контекста отправителя и получателя.

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

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

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

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

  • Проверяет EDI и свойства для партнеров.

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

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

Чтобы закодировать сообщения с помощью соединителя X12, выполните следующие действия.

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

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

    Примечание.

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

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

    Параметр Обязательное поле Описание
    Имя подключения Да Имя подключения.
    ИД учетной записи интеграции Да Идентификатор ресурса для учетной записи интеграции, которая имеет следующий формат:

    /subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/integrationAccounts/<integration-account-name>

    Например:
    /subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount

    Чтобы найти этот идентификатор ресурса, выполните следующие действия.

    1. В портал Azure откройте учетную запись интеграции.
    2. На боковой панели учетной записи интеграции выберите "Обзор".
    3. На странице обзора выберите представление JSON.
    4. Скопируйте значение из свойства идентификатора ресурса.
    Подписанный URL-адрес (SAS) учетной записи интеграции Да URL-адрес конечной точки запроса, использующий проверку подлинности SAS для предоставления доступа к учетной записи интеграции. Этот URL-адрес обратного вызова имеет следующий формат:

    https://<request-endpoint-URI>sp=<permissions>sv=<SAS-version>sig=<signature>

    Например:
    https://prod-04.west-us.logic-azure.com:443/integrationAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb?api-version=2015-08-1-preview&sp=XXXXXXXXX&sv=1.0&sig=aB1cD2eF-3gH4iJ5kL6-mN7oP8qR

    Чтобы найти этот URL-адрес, выполните следующие действия.

    1. В портал Azure откройте учетную запись интеграции.
    2. На боковой панели учетной записи интеграции в разделе "Параметры" выберите URL-адрес обратного вызова.
    3. Скопируйте значение из свойства URL-адреса созданного обратного вызова.
    Размер блока контрольного номера No Размер блока контрольных чисел, резервируемых из соглашения для сценариев с высокой пропускной способностью.

    Например:

    Скриншот показывает портал Azure, рабочий процесс с действием под названием «Кодирование в сообщение X12» по имени соглашения и информацию о подключении действия.

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

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

    Параметр Обязательное поле Описание
    Имя соглашения X12 Да Используемое соглашение X12.
    Кодируемое сообщение XML Да XML-сообщение для кодирования.
    Дополнительные параметры No Дополнительные параметры, которые можно выбрать:

    - Разделитель элементов данных
    - Разделитель компонентов
    - Символ замены
    - Признак конца сегмента
    - Суффикс конца сегмента
    - Контрольный номер версии (ISA12)
    - Идентификатор отправителя приложения или код GS02
    - Идентификатор приемника приложения или код GS03

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

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

    Чтобы найти и выбрать эти выходные данные, выполните следующие действия.

    1. Выберите поле XML-сообщения для кодирования, а затем щелкните значок молнии, чтобы открыть список динамического содержимого.

    2. В списке в разделе "При получении HTTP-сообщения" выберите "Текст".

    Снимок экрана: действие, называемое 'Кодировать в сообщение X12' по имени соглашения с указанными параметрами.

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

Операция декодирования сообщений X12 выполняет следующие задачи:

  • Проверяет конверт на соответствие соглашению с торговым партнером.

  • Проверяет EDI и свойства для партнеров.

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

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

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

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

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

    • Сохраните обмен или приостанавливайте обмен при ошибке: сохраните обмен и обработайте весь пакетный обмен. Если один или несколько наборов транзакций в проверке обмена завершаются ошибкой, действие декодирование X12 выводит все наборы транзакций в этом обмене badMessages.

  • При настройке создает техническое и функциональное подтверждение.

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

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

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

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

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

    Параметр Обязательное поле Описание
    Имя подключения Да Имя подключения.
    ИД учетной записи интеграции Да Идентификатор ресурса для учетной записи интеграции, которая имеет следующий формат:

    /subscriptions/<Azure-subscription-ID>/resourceGroups/<resource-group-name>/providers/Microsoft.Logic/integrationAccounts/<integration-account-name>

    Например:
    /subscriptions/ffffffff-eeee-dddd-cccc-bbbbbbbbbbb0/resourceGroups/integrationAccount-RG/providers/Microsoft.Logic/integrationAccounts/myIntegrationAccount

    Чтобы найти этот идентификатор ресурса, выполните следующие действия.

    1. В портал Azure откройте учетную запись интеграции.
    2. На боковой панели учетной записи интеграции выберите "Обзор".
    3. На странице обзора выберите представление JSON.
    4. Скопируйте значение из свойства идентификатора ресурса.
    Подписанный URL-адрес (SAS) учетной записи интеграции Да URL-адрес конечной точки запроса, использующий проверку подлинности SAS для предоставления доступа к учетной записи интеграции. Этот URL-адрес обратного вызова имеет следующий формат:

    https://<request-endpoint-URI>sp=<permissions>sv=<SAS-version>sig=<signature>

    Например:
    https://prod-04.west-us.logic-azure.com:443/integrationAccounts/aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb?api-version=2015-08-1-preview&sp=XXXXXXXXX&sv=1.0&sig=aB1cD2eF-3gH4iJ5kL6-mN7oP8qR

    Чтобы найти этот URL-адрес, выполните следующие действия.

    1. В портал Azure откройте учетную запись интеграции.
    2. На боковой панели учетной записи интеграции в разделе "Параметры" выберите URL-адрес обратного вызова.
    3. Скопируйте значение из свойства URL-адреса созданного обратного вызова.
    Размер блока контрольного номера No Размер блока контрольных чисел, подлежащих резервированию согласно соглашению для сценариев с высокой пропускной способностью.

    Например:

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

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

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

    Параметр Обязательное поле Описание
    Неструктурированное сообщение файла X12 для декодирования Да Сообщение X12 в формате неструктурированного файла для декодирования

    Примечание. Полезные данные или содержимое XML-сообщения в массиве сообщений закодированы в кодировке Base64. Необходимо использовать выражение, обрабатывающее это содержимое. Например, следующее выражение обрабатывает содержимое в массиве сообщений в виде XML с помощью функций xml(), base64ToBinary() и item().

    xml(base64ToBinary(item()?['Body']))
    Дополнительные параметры No Эта операция включает следующие другие параметры:

    - Сохранение обмена
    - Приостановка обмена при ошибке

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

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

    xml(base64ToBinary(item()?['Body']))

    Чтобы выполнить эту задачу, выполните следующие действия:

    1. Выберите сообщение в поле сообщения файла X12 для декодирования, затем выберите значок функции, чтобы открыть редактор выражений.

    2. В поле редактора выражений введите следующее выражение, которое ссылается на выходные данные body из триггера запроса:

      xml(base64ToBinary(string(triggerBody())))

    3. Закончив, нажмите кнопку Добавить.

    Снимок экрана: действие с именем Декодирование сообщения X12 с указанными параметрами.