Сообщение не принимается с порта отправки типа WCF onRamp в BizTalk

У меня есть Orchestration в моем приложении, которое получает сообщение XML в качестве входных данных от MSMQ, обрабатывает его и затем, в конце концов, отправляет его на порт отправки OnRamp WCF. Теперь порт OnRamp имеет следующие настройки:

  • Приложение: MyApplication

  • Приоритет: 5

  • Route Failed Message: ложь

  • Остановить отправку при ошибке: false

  • Отправить конвейер: Microsoft.BizTalk.DefaultPipelines.PassThruTransmit

  • Динамический: ложь *

  • Двусторонний: ложный

  • Адрес: http://localhost/ESB.ItineraryServices.Generic.WCF/ProcessItinerary.svc

  • Тип: WCF-WSHttp

  • Обработчик отправки: BizTalkServerApplication

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

Спасибо!

2 ответа

Итак, насколько я понимаю из вашего вопроса, вам нужно вызвать другую оркестровку из первой оркестровки. И, вероятно, вы используете ESB Toolkit (обычно мы используем термины offRamp и onRamp с инструментарием).

ESB Toolkit Way:

Я бы предложил использовать расширитель маршрута и оркестровки для маршрутизации сообщений. Внутренне он использует только фундамент DirectBound. Вот пример этого.

Без ESB Toolkit:

То, что предложил Том У, было правильно. Но убедитесь, что при создании подписки на порте прямой привязки второй оркестровки свойства контекста, используемые в выражении фильтра, должны быть уникальными, в противном случае, если выражение фильтра является универсальным и соответствует нескольким подписчикам, каждый подписчик выберет копию сообщения.

Почему сообщения, которые направляются на физический порт отправки, будут приниматься другой оркестровкой?

Если вы хотите именно такое поведение, я не думаю, что порт отправки WCF - это правильный подход. Если вы хотите, чтобы сообщения, опубликованные оркестровкой, активировали другую оркестровку, используйте порт с прямой связью, который будет записывать эти сообщения непосредственно в окно сообщения. Затем установите соответствующую подписку для формы получения активации второй оркестровки, которая, как вы уверены, будет соответствовать опубликованным сообщениям.

См. Работа с портами с прямой связью в оркестровках

Другие вопросы по тегам