You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Eric Ebbesen (JIRA)" <ji...@apache.org> on 2013/09/30 20:49:26 UTC

[jira] [Created] (AMQ-4756) {{/}}s in queue name converted to {{.}} when using REST API to create messages on queues

Eric Ebbesen created AMQ-4756:
---------------------------------

             Summary: {{/}}s in queue name converted to {{.}} when using REST API to create messages on queues
                 Key: AMQ-4756
                 URL: https://issues.apache.org/jira/browse/AMQ-4756
             Project: ActiveMQ
          Issue Type: Bug
    Affects Versions: 5.8.0
         Environment: jdk 1.6
curl 7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IPv6 Largefile NTLM NTLM_WB SSL libz
            Reporter: Eric Ebbesen
            Priority: Minor


My 5.0.8 ActiveMQ queue is named queue/andburn. Using
{noformat}
curl -u admin:admin -d 'body="Aardvark"' "http://localhost:8161/api/message/queue/andburn?type=queue"
{noformat}
or 
{noformat}
curl -u admin:admin -d 'body="Aardvark"' 'http://localhost:8161/api/message/queue/andburn?type=queue'
{noformat}
creates a new queue {{queue.andburn}}. When I escape {{/}} like {{\/}} I get {{queue\.andburn}}. When I omit {{type=queue}} I don't see my message added to my existing queue. Same when I use {{&#47;}} or {{%2F}} to represent slashes.

Note: all escaping was done after queue in the URI, e.g.
{noformat}
"http://localhost:8161/api/message/queue\/andburn?type=queue"
{noformat}

[The ActiveMQ REST|http://activemq.apache.org/rest.html] page was not helpful in addressing this.
This is also happening when sending requests to ActiveMQ via a Ruby script using the RestClient gem.
{noformat}
require 'rest_client'

require 'rubygems'
require 'json'

# parse input
iterations = ARGV[0] || 5
iterations = iterations.to_i
puts "Will process #{iterations} times"

@user = 'admin'
@pass = 'admin'
@host = 'localhost'
@port = '8161'

@queue = "queue/andburn"
@post_ws = "/api/message/#{@queue}?type=queue"

(1..iterations).each do |modifier|
  payload = "#{modifier}watch_topic"
  url = "http://#{@user}:#{@pass}@#{@host}:#{@port}#{@post_ws}"
  response = RestClient.post(url, 'body' => payload)
  puts "#{response}: #{response.class}"
end
{noformat}



--
This message was sent by Atlassian JIRA
(v6.1#6144)