尝试使用服务总线资源管理器在Azure服务总线死信队列中重新提交消息时出错

尝试使用服务总线资源管理器在Azure服务总线死信队列中重新提交消息时出错,azure,servicebus,Azure,Servicebus,我有一个服务总线订阅者已经启动并运行,它的功能还不错。然而,上周末一个数据库服务器(由侦听器使用)宕机,这导致侦听器出错,并向死信队列发送多条消息。数据库服务器再次运行后,侦听器开始工作,消息不再发送到DLQ。但是,当我尝试重新提交DLQ中的消息时,会出现以下错误: 反序列化System.String类型的对象时出错。这个 输入源的格式不正确。在 System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions

我有一个服务总线订阅者已经启动并运行,它的功能还不错。然而,上周末一个数据库服务器(由侦听器使用)宕机,这导致侦听器出错,并向死信队列发送多条消息。数据库服务器再次运行后,侦听器开始工作,消息不再发送到DLQ。但是,当我尝试重新提交DLQ中的消息时,会出现以下错误:

反序列化System.String类型的对象时出错。这个 输入源的格式不正确。在 System.Runtime.Serialization.XmlObjectSerializer.ReadObjectHandleExceptions(XmlReaderDelegator 读取器,布尔verifyObjectName,DataContractResolver dataContractResolver)在 System.Runtime.Serialization.DataContractSerializer.ReadObject(XmlDictionaryReader 读取器,布尔值验证对象名)位于 Microsoft.ServiceBus.Messaging.DataContractBinarySerializer.ReadObject(XmlDictionaryReader 读取器,布尔值verifyObjectName)


我的理解是,从DLQ重新提交消息很简单,只需清理消息中的数据(如有必要),然后单击Service Bus Explorer死信队列消息查看器中的“提交”按钮。有人知道是否有其他方法可以从Service Bus Explorer中重新提交DLQ中的消息吗?

当然,我在发布问题几分钟后看到了设置


事实证明,在DLQ消息查看器屏幕的底部有一个Body Type下拉列表,默认为“Stream”。将其更改为“String”修复了我的问题。

当然,我在发布问题几分钟后看到了设置


事实证明,在DLQ消息查看器屏幕的底部有一个Body Type下拉列表,默认为“Stream”。将其更改为“String”解决了我的问题。

您得到的是相同的模式还是不同的模式?我按照您的建议将其更改为字符串,但仍有错误。您得到的是相同的模式还是不同的模式?我按照你的建议把它改成了字符串,但还是有错误。