Brian Bouterse created QPID-6197:
------------------------------------
Summary: qpid.messaging does not support unicode for username
Key: QPID-6197
URL: https://issues.apache.org/jira/browse/QPID-6197
Project: Qpid
Issue Type: Bug
Components: Python Client
Affects Versions: 0.26
Reporter: Brian Bouterse
Priority: Minor
When using qpid.messaging I cannot use unicode in the connection objects.
Here is a reproducer snippet:
>>> from qpid.messaging.endpoints import Connection
>>> opts = {'username': u'guest', 'sasl_mechanisms': 'ANONYMOUS', 'host':
>>> '127.0.0.1', 'timeout': 4, 'password': '', 'port': 5672, 'transport': 'tcp'}
>>> Connection.establish(**opts)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line 68,
in establish
conn.open(timeout=timeout)
File "<string>", line 6, in open
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line
268, in open
self.attach(timeout=timeout)
File "<string>", line 6, in attach
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line
286, in attach
if not self._ewait(lambda: self._transport_connected and not
self._unlinked(), timeout=timeout):
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line
219, in _ewait
self.check_error()
File "/usr/lib/python2.7/site-packages/qpid/messaging/endpoints.py", line
212, in check_error
raise e
qpid.messaging.exceptions.InternalError: Traceback (most recent call last):
File "/usr/lib/python2.7/site-packages/qpid/messaging/driver.py", line 652,
in write
op.dispatch(self)
File "/usr/lib/python2.7/site-packages/qpid/ops.py", line 84, in dispatch
getattr(target, handler)(self, *args)
File "/usr/lib/python2.7/site-packages/qpid/messaging/driver.py", line 713,
in do_connection_start
mechanism=mech, response=initial))
File "/usr/lib/python2.7/site-packages/qpid/messaging/driver.py", line 684,
in write_op
self._op_enc.write(op)
File "/usr/lib/python2.7/site-packages/qpid/framing.py", line 218, in write
enc = self.encode_compound(op)
File "/usr/lib/python2.7/site-packages/qpid/framing.py", line 244, in
encode_compound
sc.write_compound(op)
File "/usr/lib/python2.7/site-packages/qpid/codec010.py", line 327, in
write_compound
sc.write_fields(op)
File "/usr/lib/python2.7/site-packages/qpid/codec010.py", line 365, in
write_fields
enc(value)
File "/usr/lib/python2.7/site-packages/qpid/codec010.py", line 229, in
write_vbin32
self.write(b)
File "/usr/lib/python2.7/site-packages/qpid/codec010.py", line 401, in write
self.encoded += s
UnicodeDecodeError: 'ascii' codec can't decode byte 0x92 in position 7: ordinal
not in range(128)
If you change username from u'guest' to 'guest' it works. I tested the other
strings referenced in the above dictionary and no other string besides username
being unicode caused a traceback.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]