Обмен сообщениями 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) не включает триггеры, поэтому для запуска рабочего процесса можно использовать любой триггер. В примерах этого руководства используется триггер запроса.

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

Соединитель 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 (v2): требуется Подключение ion, но не требуется ссылка
    - Соединитель AS2: обязательный канал, но подключение не требуется
    Стандартные - Соединитель AS2 (версия 2): требуется ссылка, но подключение не требуется
    - Соединитель AS2: требуется Подключение, но ссылка не требуется
  • Если для управления сертификатами используется Azure Key Vault, убедитесь, что ключи хранилища разрешают операции шифрования и расшифровки. В противном случае действия кодирования и декодирования завершатся ошибкой.

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

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

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

      Screenshot showing the Azure portal with the key vault, key, and key version panes open, which has the

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

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

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

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

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

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

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

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

    Screenshot showing the

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

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

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

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

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

    Например:

    Screenshot showing Consumption workflow and

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

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

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

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

    Screenshot showing the

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

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

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

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

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

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

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

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

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

    Например:

    Screenshot showing the

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

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

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

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

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

    Например:

    Screenshot showing Consumption workflow and

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

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

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

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

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

    Screenshot showing the

Пример

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

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

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

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

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