0
我的NServiceBus发出警告,说它收到一条空消息,因此忽略它。 但消息确实不是空的。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 - Server is throwing empty message warning to the console提到的,我确信有公共汽车相同的配置,在发送端和接收端,但仍存在以下问题。
可能是什么原因?
更新: 如果我使用JSONSerializer,则会调用适当的处理函数。所以它不适用于XMLSerializer。
由于安全考虑,我假设你正在混淆你的消息,但正如你所拥有的,它几乎是不可读的。你能否改变它以更真实地传达一些信息?例如,调用一个字符串属性“StringA”和一个int属性“IntA”或类似的东西。 –
对不起。编辑xml。希望它现在更具可读性。 – user3344591