尝试从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使用者,该使用者可以使用跨语言序列化库对数据进行解码。