У меня такая же проблема, как описано здесь:
Я использую две оркестровки. Первая оркестровка вызывает вторую, используя прямую привязку через двусторонний порт отправки. Второй оркестрион имеет двусторонний порт приема для отправки результата обратно первому. Все работает как надо, но я получаю следующее исключение.
A response message for two-way receive port "Unknown " is being suspended as the messaging engine could not correlate the response to an existing request message. This usually happens when the host process has been recycled.
И предлагаемое решение также работает (установите для значения BTS.EpmRRCorrelationToken случайное значение, новый GUID в моем случае, в первой оркестровке перед отправкой в порт прямого связывания, а затем во второй оркестровке я копирую значение из inputMessage в outputMessage, поэтому значение остается прежним. С помощью этого метода BizTalk знает, как соотнести ответ с вызывающим). Но я не могу понять, почему это работает и хороший ли способ решить проблему. BTS.EpmRRCorrelationToken
поток выглядит следующим образом:
Когда я не изменяю свойство BTS.EpmRRCorrelationToken
, оно одинаково для всех сообщений, которые передаются в процессе, но почему, черт возьми, BizTalk не меняет его вместо этого, если он не может правильно сопоставить сообщения?
BTS.EpmRRCorrelationToken
во второй оркестровке! Мне нужно только заполнитьBTS.EpmRRCorrelationToken
в 1-й оркестровке только что сгенерированным Guid. Но почему? - person javros   schedule 26.10.2011