spring-3

java.lang.IllegalStateException: Unable to find match between the canonical context path


I am migrating some of my spring projects from Spring 2 to spring 3.0.4. Most of them are communicating within Rest calls. I see for some requests I am getting the below error .

java.lang.IllegalStateException: Unable to find match between the canonical context path [/servicename] and the URI presented by the user agent [_visitor=.......] at org.apache.catalina.connector.Request.getContextPath(Request.java:2152) at org.apache.catalina.connector.RequestFacade.getContextPath(RequestFacade.java:784)
at org.apache.catalina.core.ApplicationDispatcher.wrapRequest(ApplicationDispatcher.java:896) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:341)

If the API is called directly (using postman) its working. but when called through another service its failing.

Tomcat version resolved is Apache Tomcat/10.1.5

Could you pls help what could be the issue?

I rolled back to the previous Spring 2.* version and it works fine.


Solution

  • You may be affect by Tomcat bug #66488. Try upgrading to Tomcat 10.0.7 and see if your experience improves.