Посредники сообщений Solace поддерживают разделы сообщений amqp-value, содержащие значения типов null, string, binary, symbol или uuid.(https://docs.solace.com/Open-APIs-Protocols/AMQP/AMQP-Protocol-Conformance.htm#Sec3-2-8)
Это делается для того, чтобы сохранить максимальную функциональную совместимость сообщений.
Любое опубликованное сообщение, использующее семантическую семантику, может использоваться только с той же семантикой. Т.е., если вы публикуетес помощью Python dict вы можете декодировать только с использованием Python dict, поэтому, если вы используете потребителя MQTT или REST, он не сможет декодировать сообщение.
Наилучший вариант - использовать многоязыковую сериализациюбиблиотека, которая облегчит будущие расширения. Например, вы можете решить добавить в будущем потребителя REST, который может декодировать данные с использованием библиотеки межязыковой сериализации.