2015-12-10 3 views
0

Я искал очень общую ошибку BizTalk, которая приводит к сбоям передачи/маршрутизации (см. Ниже). Несмотря на то, что мое местоположение приема запущено, оно, похоже, ничего не слушает. Когда я запускаю запрос для всех подписчиков активации, порт приема не отображается в списке. Я не могу понять, почему он не подписывается на мои порты отправки.Получающий порт не отображается в списке подписок на активацию

Error:
The published message could not be routed because no subscribers were found. This error occurs if the subscribing orchestration or send port has not been enlisted, or if some of the message properties necessary for subscription evaluation have not been promoted. Please use the Biztalk Administration console to troubleshoot this failure.

ответ

-1

Спасибо за разъяснения по получать местоположения. Я новичок в BizTalk, так как недавно унаследовал роль поддержки. Проблема оказалась неправильной ссылкой в ​​расширении поведения конечной точки в местоположении приема.

+0

Голосовали вниз. Вопрос, который вы задали, касался подписки на получение сообщений и Dijkgraaf, ответил тщательно. Что добавляет ваш индивидуальный ответ? Я остаюсь блуждающим, если то, что вы сделали, повлияло на подписку (и я бы узнал что-то новое), или если он не был связан (и тогда это не должен быть выбранный ответ). –

+0

Я не совсем уверен, как я мог быть намного яснее. Я отправил полученную ошибку и описал предпринятое мной действие, которое разрешило ошибку. Была ссылка на неправильное имя операции WSDL в конфигурации расширения поведения конечной точки для места приема. Это препятствовало правильному подписанию порта отправки. –

2

В одностороннем порядке У получающих мест нет активных подписчиков, только для оркестровки и отправки портов. Для One Way ваш отправляющий порт должен прослушивать ваш порт приема, а не ваш принимающий порт в ваш порт отправки.

Если это запрос/порт Ответа затем смотрите раздел ниже

One Way Получить Расположение

получающего Расположение подхватывает с внешним, и он идет через связанный порта приема и публикует в в поле сообщения.

Поскольку ваша ошибка ясно указывает на то, что сообщение было опубликовано в окне сообщения, порт приема, очевидно, работает (хотя, может быть, и не правильно), или был опубликован обратно из порта отправки или оркестровки.

То, что вы должны проверить, является

  1. контекста свойств на подвешенных сообщениях с помощью BizTalk Administrator
  2. Подписки принадлежащей Отправлять Port/Orchestration, что вы ожидаете обрабатывать сообщение
  3. сравнить два и посмотреть, что не соответствует

возможности

  1. Ваш принимающий порт не продвигает свойства, которые вы ожидаете. Проверьте схему получения и продвигаемые свойства на схеме. Если ваш конвейер настроен на переход через, только некоторые из стандартных продвигаемых свойств будут там, и не будет отображаться тип сообщения или продвинутые свойства из схемы, если вам нужны эти продвинутые свойства, установите ваш конвейер в XMLReceive или собственный конвейер с помощью XML дизассемблера или плоский файл.
  2. Ваш отправляющий порт/оркестровка не входят в состояние Enlisted, если они не зачислены, то для них не публикуются подписки. Запустить или запустить их.
  3. Неправильная (не соответствует свойствам контекста сообщений) ваша подписка на порт/оркестровка, исправить их так, чтобы они совпадали.

Запрос/ответ порта приема

Для запроса ответ Получить местоположение/порт создает экземпляр подписки для сообщения, которое ищет BTS.EpmRRCorrelationToken (который содержит подробную информацию о hostinstance, порт и идентификатор GUID) и BTS.RouteDirectToTP == True

Он работает из коробки, если у вас есть порт отправки запроса/ответа, подписанный на порт приема/ответа, или если вы используете порт запроса/ответа в оркестровке. Если вы используете отдельные порты отправки отправлений в Orchestration, вам необходимо установить указанные выше свойства в форме сообщения.

См Messaging-only request-response correlation