Description
I use url "/Test%20Test/Test%20Test" that define while create server via JAXRSServerFactoryBean. And I have error "No service was found." for my URL.
I found that class org.apache.cxf.transport.http.DestinationRegistryImpl has decoding logic for SOAP requests, but Restful requests skip this logic. Please, chec checkRestfulRequest method in this class. Thsi method doesn't use decodedDestinations map for search.
for (String path : getDestinationsPaths()) { String thePath = path.length() > 1 && path.endsWith(SLASH) ? path.substring(0, path.length() - 1) : path; if ((address.equals(thePath) || SLASH.equals(thePath) || (address.length() &gr; thePath.length() && address.startsWith(thePath) && address.charAt(thePath.length()) == '/')) && thePath.length() &gr; len) { ret = getDestinationForPath(path); len = path.length(); } }
The thePath variable contains "/Test Test/Test Test", but i registered my service with URL "/Test%20Test/Test%20Test", so equals is false.
Please, could you fix this issue. It is critical for us, because our URL can contains whitespaces.
Thank you.