使用AMQP/qpid质子将python dict发布到Solace时出错



尝试从solace运行producter.py示例amqp qpid质子python,有效负载为python dict

Message(id=(self.sent+1), body={'sequence':(self.sent+1)})

获取以下错误

拒绝消息:1远程处置:条件('amqp:未实现','不支持的amqp值类型:TOK_MAP_START'(

尝试在正文中发送整数值时出现类似错误-TOK_TYPE_INT

solace只支持字符串over AMQP吗?

Solace消息代理支持包含null、字符串、二进制、符号或uuid类型值的amqp值消息部分。(https://docs.solace.com/Open-APIs-Protocols/AMQP/AMQP-Protocol-Conformance.htm#Sec3-2-8(

这样做是为了保持最大限度的消息互操作性。

任何使用特定语言语义的已发布消息只能使用相同的语义。即,如果使用Python-dict发布,则只能使用Pythondict进行解码,因此,如果使用MQTT或REST使用者,则无法对消息进行解码。

最好的选择是使用跨语言序列化库,这将使将来的扩展更加容易。例如,您可能决定将来向添加一个REST使用者,该使用者可以使用跨语言序列化库对数据进行解码。

最新更新