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

[jira] [Comment Edited] (AMQ-5975) invalid header errror

    [ https://issues.apache.org/jira/browse/AMQ-5975?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14902078#comment-14902078 ] 

Abhi edited comment on AMQ-5975 at 9/22/15 7:03 AM:
----------------------------------------------------

Is there any specific reason to use ':' in session-id (which is derived from client-id)? Why can't we use any other character in the client-id? The util class do contain a getsanitizedId() method for this purpose only where ':' can cause issues on client side. Using getSanitizedId() should avoid this issue whether we use STOMP protocol v1.0,1.1 or 1.2.

I will log a bug for client library as well but would still like to know the reasons for above.

Thanks for the help!

-xabhi


was (Author: xabhi):
Is there any specific reason to use ':' in session-id (which is derived from client-id)? Why can't we use any other character in the client-id? The util class do contain a getsanitizedId() method for this purpose only where ':' can cause issues on client side. Using getSanitizedId() should avoid this issue whether we use STOMP protocol v1.0,1.1 or 1.2.

I will log a bug on client side as well but would still like to know the reasons for above.

Thanks for the help!

-xabhi

> invalid header errror
> ---------------------
>
>                 Key: AMQ-5975
>                 URL: https://issues.apache.org/jira/browse/AMQ-5975
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: stomp
>    Affects Versions: 5.11.1
>            Reporter: Abhi
>              Labels: stomp, v1.1, v1.2
>
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]: encoding CONNECT frame
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]:  H passcode:
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]:  H accept-version:1.0,1.1,1.2
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]:  H host:bismuth31.nyc
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]:  H login:
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]: sent 73 bytes
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]: received 123 bytes
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]: decoding CONNECTED frame
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]:  H server:ActiveMQ/5.11.1
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]:  H heart-beat:0,0
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]:  H session:ID:bismuth31.nyc-47753-1442302511794-1:3
> # 2015/09/15-03:35:13 stomp_producer.pl[29263.0]:  H version:1.2
> [20150915 03:35:13.507 Net::Stomp::connect():332 WARN] Error while connecting to the message broker: invalid header: session:ID:bismuth31.nyc-47753-1442302511794-1:3
> This is happening because session header contains ':' in its value which fails the check when using STOMPv1.1 protocol.
> ActiveMQ generates a default client id if one is not provided at the start and uses that to set session-id. But the session header cannot contain ':'.
> (https://github.com/apache/activemq/blob/138e52b08c2f49b730817932a6e63f2a135854f1/activemq-client/src/main/java/org/apache/activemq/util/IdGenerator.java and https://github.com/apache/activemq/blob/87fd0a9e054017254c3857b245ca6fb9047ccc4f/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java#L797)
> We can use generateSanitizedId() here to avoid this issue(https://github.com/apache/activemq/blob/87fd0a9e054017254c3857b245ca6fb9047ccc4f/activemq-stomp/src/main/java/org/apache/activemq/transport/stomp/ProtocolConverter.java#L797)



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