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.

Reply via email to