[ 
https://issues.apache.org/activemq/browse/AMQNET-128?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Timothy Bish reopened AMQNET-128:
---------------------------------

    Regression:   (was: [Broken Unit Test])

After having spent some time review the OpenWireReader / Writer code and the 
Text Message code in the .Net client I think that this issue hasn't fully 
addressed the problem here.  The .Net code doesn't correctly marshal out the 
Strings to the modified UTF-8 encoding that Java uses for the TextMessage case 
and the OpenWireBinaryReader and Writer limit the size of a String that can be 
read or written to the size of a short which is not correct.  

Openwire strings are marshalled with a string type header that indicates 
whether the string is a Big String type, i.e. encoded with an Integer size 
prefix or just a String type which is encoded with a Short size prefix.    

All strings encoded and decoded from the .Net client should be treated as if 
they are in the same Modified UTF-8 format that the Java DataInputStream and 
DataOutputStream deal with, that way the strings are able to be read by both 
the Java and C++ clients and the .Net client can read strings written from a 
Java or C++ client.  

> Writing large string to message queue object throws IOException("Cannot 
> marshall string longer than: "+short.MaxValue+" characters, supplied steing 
> was: "+text.Length+" characters")
> -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: AMQNET-128
>                 URL: https://issues.apache.org/activemq/browse/AMQNET-128
>             Project: ActiveMQ .Net
>          Issue Type: Bug
>          Components: ActiveMQ Client
>    Affects Versions: 1.0, 1.1
>            Reporter: Jan Willem
>            Assignee: Timothy Bish
>             Fix For: 1.1
>
>         Attachments: OpenWireBinaryWriter.cs, 
> OpenWireBinaryWriter.patch.patch, UnitTestRegressionFix.patch
>
>
> Writing large string to message queue object throws IOException("Cannot 
> marshall string longer than: "+short.MaxValue+" characters, supplied steing 
> was: "+text.Length+" characters")

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to