Сценарий:
- Я использую 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>
Кто-нибудь знает, где я ошибаюсь?