[rabbitmq-discuss] Dynamic Shovels

Michael Klishin mklishin at gopivotal.com
Fri Apr 18 09:24:59 BST 2014


On 18 April 2014 at 04:17:02, Smithnosky, Jesse (jesse.smithnosky at emc.com) wrote:
> >
> curl -i -u guest:guest -H "content-type:application/json"  
> -XPUT -d'{"value":{"src-uri":"amqp://","src-queue":"my-queue","dest-uri":"amqp://remote-server","dest-queue":"another-queue"}}'  
> http://localhost:15672/api/parameters/shovel/%2f/edShovel

-XPUT means you use HTTP method PUT.
   
>  
>  
> HTTP/1.1 204 No Content
>  
>  
> Server: MochiWeb/1.1 WebMachine/1.10.0 (never breaks eye  
> contact)
>  
>  
> Date: Thu, 17 Apr 2014 23:16:58(http://airmail.calendar/2014-04-17%2023:16:58%20GMT+4)  
> GMT
>  
>  
> Content-Type: application/json
>  
>  
> Content-Length: 0
>  
>  
>  
>  
>  
> It appears that the shovel is getting created correctly, but  
> a 204 is coming back.

204 is a successful response meaning “No Content”.

 This is really just a proof of concept, but  
> it has me a little worried about whether or not I can get it working  
> in Java. I’m trying to do something like this:
>  
>  
>  
>  
>  
> String jsonString = jackson.writeValueAsString(shovel);  
>  
>  
> HttpClient client = HttpClientBuilder.create().build();  
>  
>  
> HttpPost post = new HttpPost(RABBIT_URL_BASE+vhost+"/"+shovelName);  
>  
>  
> post.setEntity(new StringEntity(jsonString));
>  
>  
> post.addHeader("content-type", "application/json");
>  
>  
> String userPassword = "guest:guest";
>  
>  
> String encoding = DatatypeConverter.printBase64Binary(userPassword.getBytes("UTF-8"));  
>  
>  
> post.setHeader( "Authorization", "Basic " + encoding );
>  
>  
> HttpResponse response = client.execute(post);
>  
>  
>  
>  
>  
> No matter what I seem to do, however, I’m getting back a 405 Method  
> not allowed response. Has anyone gotten these working yet? Am  
> I doing something obvious incorrectly? Any help is appreciated.  
>  

You use POST in your Java code but PUT with curl. HTTP API expects a PUT and rejects
POSTs. 
--  
MK  

Software Engineer, Pivotal/RabbitMQ


More information about the rabbitmq-discuss mailing list