В моем проекте 2 оркестровки и 2 схемы (первая - для запроса, вторая - для ответа).
Orchestration 1
имеет форму Receive
(Activating = true). Он получает запрос и затем направляет его на Orchestration 2
. Последний создает запрос к веб-сервису, который отвечает ответом, ждет 2 минуты и затем отправляет новый запрос в мой сервис BizTalk. Оба проекта используют одни и те же схемы, схемы Request
и Response
.
Orchestration 2
использует набор корреляций, который инициализируется в форме Send
, которая отправляет запрос в веб-службу. Кроме того, Orchestration 2
имеет форму Receive
, ожидающую сообщения с ранее установленной корреляцией в форме Send
.
Вот схема последовательности:
А есть Orchestration 2
:
Для фигур
Send_1
и Receive_2
установлены свойства корреляции.
Проблема заключается в том, что когда веб-служба отправляет запрос 2 (см. Диаграмму выше) в мою службу biztalk, он выдает ошибку, сообщающую «Сообщение обнаружило несколько подписок ответа на запрос. Сообщение может быть перенаправлено только на один ответ на запрос подписка. " Как это может быть, если я установил соотношение? Я ожидал, что request2 будет перенаправлен на Orchestration 2
, потому что у него есть получатель с корреляцией.