Description of problem: The Python API can't send or receive a message with content-type "text/plain" if the content length is zero. Version-Release number of selected component (if applicable): MRG1.3 beta4 How reproducible: 100% Steps to Reproduce: Use the following Python script: >>> from qpid.messaging import Connection,Message >>> conn = Connection("localhost") >>> conn.open() >>> sess = conn.session() >>> xmt = sess.sender("amq.direct/key") >>> m = Message() >>> m.content_type = "text/plain" >>> xmt.send(m) Actual results: Stack trace: Traceback (most recent call last): File "<stdin>", line 1, in <module> File "<string>", line 6, in send File "/home/ross/svn5/qpid/python/qpid/messaging/endpoints.py", line 858, in send self.sync() File "<string>", line 6, in sync File "/home/ross/svn5/qpid/python/qpid/messaging/endpoints.py", line 869, in sync if not self._ewait(lambda: self.acked >= mno, timeout=timeout): File "/home/ross/svn5/qpid/python/qpid/messaging/endpoints.py", line 783, in _ewait result = self.session._ewait(lambda: self.error or predicate(), timeout) File "/home/ross/svn5/qpid/python/qpid/messaging/endpoints.py", line 550, in _ewait result = self.connection._ewait(lambda: self.error or predicate(), timeout) File "/home/ross/svn5/qpid/python/qpid/messaging/endpoints.py", line 194, in _ewait self.check_error() File "/home/ross/svn5/qpid/python/qpid/messaging/endpoints.py", line 187, in check_error raise self.error qpid.messaging.exceptions.InternalError: Traceback (most recent call last): File "/home/ross/svn5/qpid/python/qpid/messaging/driver.py", line 468, in dispatch self.engine.dispatch() File "/home/ross/svn5/qpid/python/qpid/messaging/driver.py", line 757, in dispatch self.process(ssn) File "/home/ross/svn5/qpid/python/qpid/messaging/driver.py", line 977, in process self.send(snd, msg) File "/home/ross/svn5/qpid/python/qpid/messaging/driver.py", line 1188, in send body = enc(msg.content) File "/home/ross/svn5/qpid/python/qpid/messaging/message.py", line 56, in <lambda> "text/plain": (lambda x: x.encode("utf8"), lambda x: x.decode("utf8")), AttributeError: 'NoneType' object has no attribute 'encode' Expected results: message sent