В настоящее время я нажимаю сообщения из пользовательской системы через библиотеку python Stomp.py в экземпляр ActiveMQ. Это не удается, если я предоставляю словарь с настраиваемыми заголовками в качестве параметра «заголовки» в команде отправки.Ошибка отправки Stomp.py с настраиваемыми заголовками
destination = self.subscription_id.queue_name
# Connect to the server
conn.connect(username=$username,
password=$password,
headers={})
# Send the actual message out
conn.send(destination, self.body, headers=self.header)
conn.disconnect()
По какой-то причине, заголовок не может снабдив меня с этой ошибкой:
ValueError: dictionary update sequence element #0 has length 1; 2 is required
Последняя часть трассировки стека:
File "/custom_addons/activemq_message.py", line 124, in send_to_queue
conn.send(destination, self.body, headers=self.header)
File "/usr/local/lib/python2.7/dist-packages/stomp/protocol.py", line 151, in send
headers = utils.merge_headers([headers, keyword_headers])
File "/usr/local/lib/python2.7/dist-packages/stomp/utils.py", line 166, in merge_headers
headers.update(header_map)
Это независимо от whereter или нет, я на самом деле предоставить что-нибудь в словаре или просто отправить пустую.
Он также независим от меня, предоставляя заголовки на уровне соединения или отправляя (или оба).
Кажется, что преобразование заголовка в строку в какой-то момент, но я не могу понять, является ли это преднамеренным или нет. Я также не могу понять, как это исправить.
Любые подсказки будут оценены.