Thanks Willem, I did try a search in Jira, when I followed the link you provided it's no surprise I didn't find the issue since I was searching on all the wrong terms! :-)
I had things like servlet query string rest dsl, none of which matched. Remedial search school for me I guess ;-) In terms of how I can bring this fix into my application, is there a point release I can declare in maven? That is, 2.14.1 or similar? I am unable to use a SNAPSHOT release or a custom patched version in my application for policy reasons. If it's not possible then no problem I can work around it in the short term. Thanks again. Regards, Rod. On 18 November 2014 17:52, Willem Jiang <willem.ji...@gmail.com> wrote: > It’s a bug of Camel[1] which has been fixed few weeks ago. > > [1]https://issues.apache.org/jira/browse/CAMEL-7971 > > -- > Willem Jiang > > Red Hat, Inc. > Web: http://www.redhat.com > Blog: http://willemjiang.blogspot.com (English) > http://jnn.iteye.com (Chinese) > Twitter: willemjiang > Weibo: 姜宁willem > > > > On November 18, 2014 at 11:32:30 AM, rvanluinen (rvanlui...@gmail.com) > wrote: > > I have been experimenting with Camel 2.14.0 and the REST DSL using the > > servlet component. > > I have followed the code in the example, however for reasons of my own > I'd > > like to use a different servlet name than the default of CamelServlet. > This > > works fine with vanilla servlet:/// URIs - add ?servletName=my-servlet > and > > all is good. > > > > To do this with the REST DSL I use the following: > > > > restConfiguration().component("servlet").endpointProperty("servletName", > > "my-servlet"); > > rest("/rest").post().otherDSLStatements; > > > > Contrary to what I thought, endpointProperty and not componentProperty > sees > > this property added to the URI. > > > > The problem is, it doesn't work. > > I stepped through the code and it appears the problem is that the URI > that > > gets constructed for my post prior to being turned into a rest:// URI > looks > > something like: > > servlet:///rest?httpMethodRestrict=POST?servletName=my-servlet. > > > > Which doesn't get correctly parsed by URISupport.parseQuery() since it > > doesn't separate the second key/value pair using an ampersand ('&') as > you > > might expect. > > > > The code from ServletComponent looks like this (lines 194-197): > > > > String url = "servlet:///%s?httpMethodRestrict=%s"; > > if (!query.isEmpty()) { > > url = url + "?" + query; > > } > > > > I can also confirm that using the debugger and changing the second '?' to > > '&' results in the behaviour that I'd expect to see, which is that > > my-servlet actually handles the request. > > > > I don't think I'm doing anything screwy here, can anyone else confirm > > they've had similar problems or not? I think it's a bug but following > > etiquette I'm posting here first and not raising issues in Jira > immediately. > > > > Regards, > > Rod > > > > > > > > -- > > View this message in context: > http://camel.465427.n5.nabble.com/Servlet-Component-with-REST-DSL-problem-in-URI-query-string-construction-tp5759228.html > > Sent from the Camel - Users mailing list archive at Nabble.com. > > > >