You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "James Bradt (JIRA)" <ji...@apache.org> on 2006/05/22 16:18:51 UTC

[jira] Created: (AMQ-719) OpenWire ActiveMQTextMessage not sharable between JMS client and dotNet client

OpenWire ActiveMQTextMessage not sharable between JMS client and dotNet client
------------------------------------------------------------------------------

         Key: AMQ-719
         URL: https://issues.apache.org/activemq/browse/AMQ-719
     Project: ActiveMQ
        Type: Bug

  Components: JMS client  
    Versions: 4.0    
 Environment: ActiveMQ incubator 4.0 release - windows xp pro - jdk1.5 - dotNet2003 - openwire dotnet client from svn head
    Reporter: James Bradt


The payload content for a JMS message contains initial bytes for the length of the text string.  The payload content for an dotNet openwire content does not contain this information.  This mismatch in payload results in invalid payloads when passing jms messages between technologies.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (AMQ-719) OpenWire ActiveMQTextMessage not sharable between JMS client and dotNet client

Posted by "Hiram Chirino (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-719?page=all ]

Hiram Chirino updated AMQ-719:
------------------------------

    Fix Version: 4.0.1
                 4.1

Setting fix version so that issue shows up on roadmap

> OpenWire ActiveMQTextMessage not sharable between JMS client and dotNet client
> ------------------------------------------------------------------------------
>
>          Key: AMQ-719
>          URL: https://issues.apache.org/activemq/browse/AMQ-719
>      Project: ActiveMQ
>         Type: Bug

>   Components: JMS client
>     Versions: 4.0
>  Environment: ActiveMQ incubator 4.0 release - windows xp pro - jdk1.5 - dotNet2003 - openwire dotnet client from svn head
>     Reporter: James Bradt
>      Fix For: 4.1, 4.0.1

>
>
> The payload content for a JMS message contains initial bytes for the length of the text string.  The payload content for an dotNet openwire content does not contain this information.  This mismatch in payload results in invalid payloads when passing jms messages between technologies.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Resolved: (AMQ-719) OpenWire ActiveMQTextMessage not sharable between JMS client and dotNet client

Posted by "Hiram Chirino (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-719?page=all ]
     
Hiram Chirino resolved AMQ-719:
-------------------------------

    Resolution: Fixed

Patch applied!  Thanks!

> OpenWire ActiveMQTextMessage not sharable between JMS client and dotNet client
> ------------------------------------------------------------------------------
>
>          Key: AMQ-719
>          URL: https://issues.apache.org/activemq/browse/AMQ-719
>      Project: ActiveMQ
>         Type: Bug

>   Components: JMS client
>     Versions: 4.0
>  Environment: ActiveMQ incubator 4.0 release - windows xp pro - jdk1.5 - dotNet2003 - openwire dotnet client from svn head
>     Reporter: James Bradt
>      Fix For: 4.1, 4.0.2

>
>
> The payload content for a JMS message contains initial bytes for the length of the text string.  The payload content for an dotNet openwire content does not contain this information.  This mismatch in payload results in invalid payloads when passing jms messages between technologies.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Commented: (AMQ-719) OpenWire ActiveMQTextMessage not sharable between JMS client and dotNet client

Posted by "James Stanton (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/activemq/browse/AMQ-719?page=comments#action_36432 ] 

James Stanton commented on AMQ-719:
-----------------------------------

This can be fixed by changing ActiveMQTextMessage "Text" getter/setter to look like this:  (tested with Java 1.4.2)

public string Text
        {
            get {
                if (text == null)
                {
                    // now lets read the content
                    byte[] data = this.Content;
                    if (data != null)
                    {
                        // TODO assume that the text is ASCII
                        char[] chars = new char[data.Length - sizeof(int)];
                        for (int i = 0; i < chars.Length; i++)
                        {
                            chars[i] = (char)data[i + sizeof(int)];
                        }
                        text = new String(chars);
                    }
                }
                return text;
            }
            
            set {
                this.text = value;
                byte[] data = null;
                if (text != null)
                {
                    // TODO assume that the text is ASCII
                    byte[] intData = System.BitConverter.GetBytes(text.Length);
                    data = new byte[text.Length + intData.Length];  //int at the front of it
                    char[] chars = text.ToCharArray();

                    for (int j = 0; j < intData.Length; j++)
                    {
                        data[j] = intData[intData.Length - j - 1];  //reverse byte order, I'm not certain why this is necessary, but it is -Jamie
                    }

                    for (int i = 0; i < chars.Length; i++)
                    {
                        data[i + intData.Length] = (byte)chars[i];
                    }
                }
                this.Content = data;
            }
        }




Hope this helps.

Jamie

> OpenWire ActiveMQTextMessage not sharable between JMS client and dotNet client
> ------------------------------------------------------------------------------
>
>          Key: AMQ-719
>          URL: https://issues.apache.org/activemq/browse/AMQ-719
>      Project: ActiveMQ
>         Type: Bug

>   Components: JMS client
>     Versions: 4.0
>  Environment: ActiveMQ incubator 4.0 release - windows xp pro - jdk1.5 - dotNet2003 - openwire dotnet client from svn head
>     Reporter: James Bradt
>      Fix For: 4.1, 4.0.2

>
>
> The payload content for a JMS message contains initial bytes for the length of the text string.  The payload content for an dotNet openwire content does not contain this information.  This mismatch in payload results in invalid payloads when passing jms messages between technologies.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira


[jira] Updated: (AMQ-719) OpenWire ActiveMQTextMessage not sharable between JMS client and dotNet client

Posted by "Hiram Chirino (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/activemq/browse/AMQ-719?page=all ]

Hiram Chirino updated AMQ-719:
------------------------------

    Fix Version: 4.0.2
                     (was: 4.0.1)

> OpenWire ActiveMQTextMessage not sharable between JMS client and dotNet client
> ------------------------------------------------------------------------------
>
>          Key: AMQ-719
>          URL: https://issues.apache.org/activemq/browse/AMQ-719
>      Project: ActiveMQ
>         Type: Bug

>   Components: JMS client
>     Versions: 4.0
>  Environment: ActiveMQ incubator 4.0 release - windows xp pro - jdk1.5 - dotNet2003 - openwire dotnet client from svn head
>     Reporter: James Bradt
>      Fix For: 4.1, 4.0.2

>
>
> The payload content for a JMS message contains initial bytes for the length of the text string.  The payload content for an dotNet openwire content does not contain this information.  This mismatch in payload results in invalid payloads when passing jms messages between technologies.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
   https://issues.apache.org/activemq/secure/Administrators.jspa
-
For more information on JIRA, see:
   http://www.atlassian.com/software/jira