[
https://issues.apache.org/activemq/browse/AMQCPP-261?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothy Bish resolved AMQCPP-261.
---------------------------------
Resolution: Fixed
Removed all string encoding and decoding from Message processing.
Added class MarshallingSupport to activemq/util with methods that encode and
decode strings to modified UTF-8 for those that want to send string data with
values between [0...255] but don't want to use a third party lib.
Users must now encode and decode wide char string as UTF-8 or modified UTF-8 to
share string data with a Java or .NET client app.
> Handle Multibyte Strings or Strings encoded in Charsets other than US-ASCII
> ---------------------------------------------------------------------------
>
> Key: AMQCPP-261
> URL: https://issues.apache.org/activemq/browse/AMQCPP-261
> Project: ActiveMQ C++ Client
> Issue Type: Improvement
> Components: CMS Impl, Decaf, Openwire
> Affects Versions: 3.0.1
> Reporter: Timothy Bish
> Assignee: Timothy Bish
> Fix For: 3.2.0
>
>
> The CMS API defines the interface for Strings in the TextMessage using the
> C++ std::string and const char* primitives and doesn't consider character
> encodings in its interface or the use of multibyte string representations.
> In order to allow the use of Strings between Java and C++ and .NET clients
> the strings in the TextMessage as well as those in MapMessage, StreamMessage,
> and BytesMessage (when wreiteUTF and readUTF are called) as well as message
> properties of the string type are encoded in the JAVA standard Modified UTF-8
> format for serialized strings. This design makes the assumption that strings
> passed are in US-ASCII format and that the strings from the broker are also
> encoded with no char values greater than 255 and throws an exception if one
> is encountered.
> The CMS interface needs to be extended to allow for more flexible string
> handling and offer a mechanism to deal with string encodings other than
> ASCII.
> Another alternative is to change the assumption about strings in the CMS API
> to assume that all string are given as either ASCII strings with chars < 127
> and no embedded nulls or are already encoded by the user as Modified UTF-8 by
> the user so that a Java or .NET client can read all strings sent in CMS
> Messages as well.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.