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

Reply via email to