我们使用Cold聚变使用java RabbitMQ客户机API将消息发布到队列中,然后使用EasyNetQ使用C#从队列中读取消息。
消息是一个字符串。
java客户端正在将消息发布为一个内容类型为文本/纯文本的非服务器化字节数组。
当我们尝试从队列中读取消息时,无论EasyNetQ端定义的消息类型如何,我们总是会抛出一个EasyNetQ。我尝试过将其作为字节数组,并且只是一个基本的对象。我认为EasyNetQ每次都在期待一个序列化的对象?
我们得到的例外是
消息: 2344462 BasicProperties:(内容-type=文本/平原,内容-编码=,headers=,传递模式=1,先验ty=0,相关性-id=,答复-to=,expiration=,message-id=,timestamp=,typ e=,user-id=,app-id=,集群-id=_) 例外情况: EasyNetQ.EasyNetQInvalidMessageTypeException:消息类型不正确。期待d 'System_Byte[]:mscorlib',但是‘是’
有人能帮忙吗?
发布于 2013-10-14 08:28:23
EasyNetQ需要一个JSON序列化的UTF-8主体,它表示订阅方法中给定的.NET类型,以及基本属性的“type”字段,该字段将使用EasyNetQ样式类型描述填充。
如果要进行自己的反序列化,则应该使用高级API。
https://stackoverflow.com/questions/18123869
复制相似问题