NServiceBus Не удалось вызвать событие получения транспортного сообщения - PullRequest
1 голос
/ 27 октября 2010

Сценарий:

  • Я использую NServiceBus с MSMQ Transport.
  • У меня есть сообщения из приложения, помещенные в QUEUE-A.
  • У меня есть шлюз NServiceBus, получающий сообщения от QUEUE-A и отправляющий их другому шлюзу
  • I Шлюз назначения получает сообщения и помещает их в соответствующую очередь.
  • Source Gateway генерирует исключение Null Reference и отправляет сообщения 5 раз (макс. Повторных попыток).
  • Шлюз назначения получает все сообщения и показывает, что отправляет ответ HTTP в журнал.

Ошибка, которую выбрасывает шлюз назначения:

WARN NServiceBus.Unitcast.Transport.Msmq.MsmqTransport [(null)] <(null)> - Не удалось создать событие «транспортное сообщение получено» для сообщения с ID = GUID System.NullReferenceException: ссылка на объект не установлена ​​для экземпляра объекта.

Эта ошибка изначально была настроена на 2 разных серверах, хотя она возникает, когда я запускаю сценарий локально, с правами администратора, на моем локальном компьютере (просто слушаю на разных портах). Я устанавливаю SetHttpToHeader () сообщения на правильный адрес назначения.

Конфиги шлюза:

Gateway1:

<appSettings>
    <add key="NumberOfWorkerThreads" value="10"/>

    <add key="InputQueue" value="Gateway1Pickup"/>
    <add key="ErrorQueue" value="Gateway1Error"/>
    <add key="ForwardReceivedMessageTo" value="audit"/>

    <add key="OutputQueue" value="Gateway1Output"/>
    <add key="ListenUrl" value="http://address:6768/Gateway/"/>

    <add key="RequireMD5FromClient" value="true"/>
  </appSettings>

Gateway2:

<appSettings>
    <add key="NumberOfWorkerThreads" value="10"/>

    <add key="InputQueue" value="Gateway2Pickup"/>
    <add key="ErrorQueue" value="Gateway2Error"/>
    <add key="ForwardReceivedMessageTo" value="audit"/>

    <add key="OutputQueue" value="Gateway2Output"/>
    <add key="ListenUrl" value="http://address:6768/Gateway/"/>

    <add key="RequireMD5FromClient" value="true"/>
  </appSettings>

Кто-нибудь знает, где я ошибаюсь?

Ответы [ 2 ]

3 голосов
/ 29 октября 2010

Сначала я получил твердое замечание, а потом понял, что NSB не обрабатывает создание очередей аудита для вас.Если вы удалите их из конфигурации или создадите очереди аудита, у вас все должно быть в порядке.

0 голосов
/ 30 марта 2014

Я обнаружил, что эта проблема появилась, когда у меня не было зависимых сборок в каталоге службы. Я обнаружил ошибку, приложенную к сообщению в очереди MSMQ. Я использовал Queue Explorer, но я предполагаю, что другие инструменты будут показывать то же самое.

...