AMQP 传输帧被拒绝

AMQP transfer frame refused

我目前正在尝试通过 AMQP 1.0 将我的驱动程序开发到 ActiveMQ 我可以成功打开、开始会话、附加到该会话的链接,但我的第一个传输帧被拒绝并出现“错误解码”,尽管 wireshark 将其视为有效帧,如屏幕截图所示 wireshark view of transfer frame

返回的帧是一个关闭错误条件:amqp:decode-错误, 描述是无法解码 AMQP 帧:十六进制:...

根据我在编码中看到的情况,您已经围绕指示为 format = 0 的消息创建了一个传输,它需要一个 AmqpValue、N 个 AmqpSequence 部分或 N 个数据部分的正文部分。您的编码似乎将二进制编码为主体部分,这是不正确的,这可能是代理触发异常的地方。

规范很好地概述了这一要求 http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#section-message-format