NServiceBus : Received an empty message
本文关键字:empty message an Received NServiceBus | 更新日期: 2023-09-27 18:10:04
我的NServiceBus抛出了一个警告,它收到了一个空消息,因此忽略了它。但消息确实不是空的。
总线配置
Configure.With()
.Log4Net()
.DefaultBuilder()
.XmlSerializer()
.RavenSubscriptionStorage()
.MsmqTransport()
.IsTransactional(true)
.PurgeOnStartup(false)
.UnicastBus();
留言如下。xml是正确的(我的意思是xml的值和标记与我发送的对象相比是正确的)。
<Messages>
<Class1>
<Class2>
<QueueAddress>.''private$''myerrorqueue</QueueAddress>
<Category>Some string here</Category>
<ExtraInfo> </ExtraInfo>
<Priority> 1 </Priority>
<LookupValue> 1 </LookupValue>
</Class2>
</Class1>
</Messages>
警告
2014-06-24 15:45:42,213 [Worker.14] WARN NServiceBus.Unicast.UnicastBus [(null)
] - Received an empty message - ignoring.
我知道,如果只有只读属性,反序列化是不可能的。我的接口没有只读属性。
public interface ISomeInterfaceImplementedByClass1
{
Class2 class2{ get; set; }
}
正如在NServiceBus中提到的,服务器向控制台抛出空消息警告,我确保在发送方和接收方对总线有相同的配置,但问题仍然存在。
可能是什么原因?
更新:如果我使用JSONSerializer,那么适当的处理程序将被调用。所以它不能与XMLSerializer一起工作
原因:我正在创建一个接口实例并发送它。XMLSerializer没有序列化接口。
我没有使用XMLSerializer,而是使用JSONSerializer,并调用了相应的Handler。