We are moving a Grails 4 application from Oracle to Postgres, and from one server to another. We can run our application without issues locally (using run-app
), so we don't think the Oracle -> Postgres transition is responsible for the issue we are seeing; we believe it's because of the switch from one environment to another.
We are seeing an issue where a request to "/OurApp/loginStatus/" that we would like to be handled by the Grails defaultAction. We would really like this URL to be mapped to "OurApp/loginStatus/index" which it does in other environments.
Here is a pared-down LoginStatusController:
class LoginStatusController {
def index() {
render([success: true] as JSON)
}
}
Tomcat Logging
We turned on the RequestDumperFilter
and this is where you see a difference between the URL and application path:
requestURI=/OurApp/loginStatus/
servletPath=/loginStatus/index.jsp
Application Logging
Adding additional spring-security logging gives us this:
Request received for '/loginStatus/index.jsp':
servletPath:/loginStatus/index.jsp
Configuration
I've gone over the server.xml
, web.xml
, and context.xml
and I don't see anything that would explain why our new environment treats these requests differently.
We can't tell if Tomcat or Grails is at fault for the problem, or even how to debug further. The new server is only accessibly through a remote Windows OS that is lacking in tools to do any sort of remote debugging.