Inconsistent handling on strings between C++ and Python messaging APIs ----------------------------------------------------------------------
Key: QPID-2452 URL: https://issues.apache.org/jira/browse/QPID-2452 Project: Qpid Issue Type: Bug Components: C++ Client, Python Client Reporter: Ted Ross Fix For: 0.7 Description of problem: This bug is in reference to the new messaging APIs. The handling of strings is different between the C++ and Python messaging APIs. The Python API assumes strings on-the-wire are UTF-8 encoded. The C++ API apparently uses raw, unencoded octet arrays. If a binary string of octets (with some octets > 0x7F), is encoded by a C++ client and received by a Python client, the Python client will throw an exception. Version-Release number of selected component (if applicable): SVN revision 924529 and prior. How reproducible: 100% Steps to Reproduce: 1. Use the C++ API (qpid::messaging) to produce a map-message (using MapContent). One of the map entries should have a string value and should contain a sequence such as "!E\xf9\xf5\xdf\x89d\x011\xc0\xc8$7H\x99T" 2. Use the python client to receive the message. Actual results: The Python client will throw an exception when it tries to UTF8-decode the string. Expected results: Either Python should use raw-octet encoding or C++ should use UTF8. I expect the string seen by the Python receiver to be identical to that sent by the C++ producer. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:dev-subscr...@qpid.apache.org