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


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

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

Для отправки и получения сообщений AS2 в рабочих процессах, создаваемых с помощью Azure Logic Apps, можно использовать соединитель AS2 (v2), который предоставляет действия, поддерживающие взаимодействие AS2 и управляющие ими. Если вам нужны возможности отслеживания, исходный соединитель AS2 по-прежнему доступен, но не рекомендуется.

За исключением возможностей отслеживания, соединитель AS2 (версии 2) предоставляет те же возможности, что и исходный соединитель AS2 , работает в собственном коде со средой выполнения Azure Logic Apps и обеспечивает значительные улучшения производительности в размере сообщений, пропускной способности и задержке. В отличие от исходного соединителя AS2 , соединитель AS2 (версии 2) не требует создания подключения к учетной записи интеграции. Вместо этого, как описано в разделе "Предварительные требования", свяжите учетную запись интеграции с ресурсом приложения логики, в котором вы планируете использовать соединитель.

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

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

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

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

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

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

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

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

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

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

Операции AS2 (версии 2)

Соединитель AS2 (версии 2) не имеет триггеров. В следующей таблице описываются действия, которые предоставляет соединитель AS2 (версии 2) для установления безопасности и надежности при передаче сообщений:

Действие Description
Действие кодирования AS2 Предоставляет шифрование, цифровую подпись и подтверждения с помощью уведомлений о ликвидации сообщений (MDN), которые помогают поддерживать нерекомендывание. Например, это действие применяет заголовки AS2/HTTP и выполняет следующие задачи при настройке:

— подписывающие исходящие сообщения.
— шифрование исходящих сообщений.
— сжатие сообщения.
— передача имени файла в заголовке MIME.
Действие декодирование AS2 Предоставьте расшифровку, цифровую подпись и подтверждения с помощью уведомлений о ликвидации сообщений (MDN). Например, это действие выполняет следующие задачи при настройке:

— Обработка заголовков AS2/HTTP.
— согласование полученных MDN с исходными исходящими сообщениями.
— обновляет и коррелирует записи в базе данных, не относяющейся к нерекомендации.
— запись записей для отчетов о состоянии AS2.
— Вывод содержимого полезных данных в кодировке Base64.
— определите, требуются ли MDN. На основе соглашения AS2 определите, должны ли mdN быть синхронными или асинхронными.
— создание синхронных или асинхронных MDN на основе соглашения AS2.
— Задайте маркеры корреляции и свойства в MDN.
— Проверка подписи.
— расшифровка сообщений.
— распаковка сообщения.
— проверяет и запрещает повторяющиеся идентификаторы сообщения.

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

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

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

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

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

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

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

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

    Рабочий процесс приложения логики Требуется ссылка?
    Потребление - Соединитель AS2 (версия 2): требуется подключение, но не требуется ссылка
    - Соединитель AS2: обязательный канал, но подключение не требуется
    Стандартные - Соединитель AS2 (версия 2): требуется ссылка, но подключение не требуется
    - Соединитель AS2 : требуется подключение, но не требуется ссылка
  • Если для управления сертификатами используется Azure Key Vault, убедитесь, что ключи хранилища разрешают операции шифрования и расшифровки. В противном случае действия кодирования и декодирования завершатся ошибкой.

    1. В портал Azure откройте хранилище ключей. В меню хранилища ключей в разделе Параметры выберите пункт Ключи.

    2. В области Ключи выберите свой ключ. В области Версии выберите используемую версию ключа.

    3. В области Версия ключа в разделе Разрешенные операции убедитесь в том, что выбраны операции Шифрование и Расшифровка, например:

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

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

Выберите вкладку для рабочих процессов приложения логики "Потребление" или "Стандартный":

Соединитель AS2 версии 2

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

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

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

    Свойство Обязательное поле Описание
    Сообщение для кодирования Да Полезные данные сообщения, например , вывод текста триггера запроса.

    1. Поместите курсор в поле "Сообщение", чтобы открыть динамический список содержимого.
    2. Рядом с именем раздела при получении HTTP-запроса нажмите кнопку "Дополнительные сведения".
    3. В списке выходных данных выберите текст.
    AS2 из Да Бизнес-идентификатор отправителя сообщения, указанный соглашением AS2, например Fabrikam.
    AS2 в Да Бизнес-идентификатор получателя сообщений, указанный соглашением AS2, например Contoso.

    Снимок экрана: действие

Соединитель AS2

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

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

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

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

    Например:

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

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

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

    Свойство Обязательное поле Описание
    AS2-from Да Бизнес-идентификатор отправителя сообщения, указанный соглашением AS2, например Fabrikam.
    AS2-to Да Бизнес-идентификатор получателя сообщений, указанный соглашением AS2, например Contoso.
    текст Да Полезные данные сообщения для кодирования, например, выходные данные body из триггера запроса.

    1. Поместите курсор в поле текста, чтобы открыть динамический список содержимого.
    2. Рядом с именем раздела при получении HTTP-запроса нажмите кнопку "Дополнительные сведения".
    3. В списке выходных данных выберите текст.

    Снимок экрана: действие

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

Выберите вкладку для рабочих процессов приложения логики "Потребление" или "Стандартный":

Соединитель AS2 версии 2

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

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

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

    Свойство Обязательное поле Описание
    текст Да Текст сообщения, который будет декодировать, например, вывод текста из триггера запроса.

    1. Поместите курсор в поле текста, чтобы открыть динамический список содержимого.
    2. Рядом с именем раздела при получении HTTP-запроса нажмите кнопку "Дополнительные сведения".
    3. В списке выходных данных выберите текст.
    Заголовки Да Заголовки сообщения для декодировать, например, выходные данные заголовков триггера запроса.

    1. Поместите курсор в поле заголовков , чтобы открыть динамический список содержимого.
    2. Рядом с именем раздела при получении HTTP-запроса нажмите кнопку "Дополнительные сведения".
    3. В списке выходных данных выберите заголовки.

    Например:

    Снимок экрана: действие

Соединитель AS2

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

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

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

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

    Например:

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

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

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

    Свойство Обязательное поле Описание
    текст Да Полезные данные сообщения, например , вывод текста триггера запроса.

    1. Поместите курсор в поле текста, чтобы открыть динамический список содержимого.
    2. Рядом с именем раздела при получении HTTP-запроса нажмите кнопку "Дополнительные сведения".
    3. В списке выходных данных выберите текст.
    Заголовки Да Заголовки сообщения для декодировать, например, выходные данные заголовков триггера запроса.

    1. Поместите курсор в поле заголовков , чтобы открыть динамический список содержимого.
    2. Рядом с именем раздела при получении HTTP-запроса нажмите кнопку "Дополнительные сведения".
    3. В списке выходных данных выберите заголовки.

    Снимок экрана: действие

Пример

Чтобы попробовать развернуть полностью рабочее приложение логики и пример сценария AS2 (версии 2), см. шаблон и сценарий приложения логики AS2 (версии 2).

Устранение неполадок

  • Проблемы при отправке подписанных или зашифрованных сообщений

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

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