2013-03-28 5 views
0
2013-03-28 10:18:32,374 [Worker.5] 
WARN NServiceBus.Unicast.UnicastBus [(null)] <(null)> - 
Received an empty message - ignoring. 

У меня есть клиент, который bus.send («сервер», команда) переходит с веб-сайта mvc4 в процессор сообщений. Процессор сообщений был настроен по умолчанию без какой-либо пользовательской инициализации.NServiceBus - сервер бросает пустое сообщение на консоль

Это моя конфигурация на стороне сайта в global.asax

 Configure.With() 
      .StructureMapBuilder(container) 
      .JsonSerializer() 
      .Log4Net() 
      .MsmqTransport() 
       .IsTransactional(false) 
       .PurgeOnStartup(true) 
      .UnicastBus() 
       .ImpersonateSender(false) 
      .CreateBus() 
      .Start(() => Configure.Instance.ForInstallationOn<NServiceBus.Installation.Environments.Windows>().Install());   

Я рассмотрел NServicebus publishing event - recieves empty message, но это не помогло, я не читал только свойства.

ответ

0

Проблема подобна связанному вопросу в OP. Я обнаружил, что методы сериализации должны совпадать между отправителем и сервером. Мне пришлось добавить пользовательскую инициализацию на стороне сервера и добавить конструктор по умолчанию, а также сериализатор json, чтобы он соответствовал веб-стороне, чтобы сообщения работали правильно.

0

Еще одна вещь, которую я нашел, я использовал IWantCustomInitialization с ниже конфигурации:

Configure.With(typeof(TransactionDetailsHandler).Assembly) // this is problematic one 
       .CastleWindsorBuilder(container) 
       .DefaultBuilder(); 

Я не указать тип сборки моего сообщения в настройке. С добавлением этого решена проблема.

Смежные вопросы