You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Ruben Cala (JIRA)" <ji...@apache.org> on 2016/09/30 19:55:22 UTC

[jira] [Updated] (ARTEMIS-768) Broker delivers STOMP message with invalid payload when using core api ClientProducer

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

Ruben Cala updated ARTEMIS-768:
-------------------------------
    Description: 
When using core api ClientProducer to publish messages with a text payload (xml string, btw) to the broker, the messages sent to stomp consumers have an invalid stomp body.
In the message delivered to stomp consumers, the  original text payload was 5 characters longer than the published payload.  The stomp messages delivered had with 3 extra characters at the front of the payload, and 2 characters at the end (spaces), before the final terminating NULL character.
Besides the fact that the string payload is different from what was published, the 3 extra characters in the front of the stomp message often contained the NULL character.
This violates the stomp MESSAGE format, and was causing incorrect stomp message parsing.

The workaround for this was to use the stomp content-length header to determine how many bytes to read in for the body, then manually discarding the garbage characters.

  was:
When using core api ClientProducer to publish messages to the broker, the messages sent to stomp consumers have an invalid stomp body.  In the message delivered to stomp consumers, original message body (string payload btw) from the published message is prepended with 6 random characters, one of which is the null character.  The null character is the terminating character of the stomp body.
This violates the stomp MESSAGE format, and can cause incorrect stomp message parsing.

The workaround for this was to use the stomp content-length header to determine how many bytes to read in for the body, then manually discarding the garbage characters.


> Broker delivers STOMP message with invalid payload when using core api ClientProducer
> -------------------------------------------------------------------------------------
>
>                 Key: ARTEMIS-768
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-768
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Stomp
>    Affects Versions: 1.1.0
>         Environment: Redhat Linux 2.6
>            Reporter: Ruben Cala
>
> When using core api ClientProducer to publish messages with a text payload (xml string, btw) to the broker, the messages sent to stomp consumers have an invalid stomp body.
> In the message delivered to stomp consumers, the  original text payload was 5 characters longer than the published payload.  The stomp messages delivered had with 3 extra characters at the front of the payload, and 2 characters at the end (spaces), before the final terminating NULL character.
> Besides the fact that the string payload is different from what was published, the 3 extra characters in the front of the stomp message often contained the NULL character.
> This violates the stomp MESSAGE format, and was causing incorrect stomp message parsing.
> The workaround for this was to use the stomp content-length header to determine how many bytes to read in for the body, then manually discarding the garbage characters.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)