The following Python code using the Qpid Proton library works with the Hono Sandbox.
from __future__ import print_function, unicode_literals from proton import Message from proton.handlers import MessagingHandler from proton.reactor import Container class HelloWorld(MessagingHandler): def __init__(self, server, address): super(HelloWorld, self).__init__() self.server = server self.address = address def on_start(self, event): print("connecting ...") conn = event.container.connect(self.server, sasl_enabled=True, allowed_mechs="PLAIN", allow_insecure_mechs=True, user="[email protected]", password="verysecret") event.container.create_sender(conn, self.address) def on_sendable(self, event): print("sending command") event.sender.send(Message(body="Hello World!", address="command/DEFAULT_TENANT/4711", content_type="text/plain", subject="call")) event.sender.close() event.connection.close() Container(HelloWorld("amqp://hono.eclipseprojects.io:15672", "command/DEFAULT_TENANT")).run()
I guess in your code you are mainly missing to set the SASL properties. I also think that the username and password should better be set explicitly instead of as part of the URL because the username contains a
@ character which also seems to be used in the URL as a delimiter.
CLICK HERE to find out more related problems solutions.