I'm running into an easy-to-recreate issue where REST paths that end with a "/"
will not be handled correctly if a JSESSIONID path parameter is included.
For example, take the following three query URLs:
(1) http://localhost:8080/api/people/;JSESSIONID=xxx
(2) http://localhost:8080/api/people/available;JSESSIONID=xxx
(3) http://localhost:8080/api/people;JSESSIONID=xxx
(1) Will result in a WebApplicationException being thrown due to being unable
to correctly parse parameters. (2) Will work just fine. (3) Will also work just
fine.
This seems like a straightforward bug, but I'm surprised nobody else has run
into it. I've also seen the following similar bug reports, all of which are
already fixed:
https://issues.apache.org/jira/browse/CXF-3573 (from 2011)
https://issues.apache.org/jira/browse/CXF-5347 (from 2013)
Before I file an issue in JIRA, I wanted to do a quick sanity check in case I'm
missing anything obvious. I have a sample service class that shows the issue
with the following annotations:
@Path("/people/")
@Consumes("application/json")
@Produces("application/json")
public class PersonService {
@Inject @Named("personDAO") protected PersonDAO pDAO;
@GET
@Path("/")
public List<Person> getAll(){
return pDAO.getAll();
}
@GET
@Path("/available")
public List<Person> getAll(){
return pDAO.getAll();
}
}
(The server address is a simple "/".)
Thanks in advance,
Terence
P.S. I'm happy to send along a very small project which demonstrates the issue
if that would be helpful.