Seen on JBAC today (5.5-m3.1 build 4304):
2014-04-30 01:41:41,512 INFO [http-bio-8085-exec-404] [AccessLogFilter] johndoe GET https://jira-bamboo.internal.atlassian.com/api/rest/getBambooBuildNumber.action?auth=7CDx0OaE7b 848678kb 2014-04-30 01:41:41,513 WARN [http-bio-8085-exec-404] [Dispatcher] Could not find action or result There is no Action mapped for namespace [/api/rest] and action name [getBambooBuildNumber] associated with context path []. - [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185) at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39) at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:554) at java.lang.Thread.run(Thread.java:744) ... 2014-04-30 01:41:41,514 ERROR [http-bio-8085-exec-404] [Dispatcher] Exception occurred during processing request: There is no Action mapped for namespace [/api/rest] and action name [getBambooBuildNumber] associated with context path []. There is no Action mapped for namespace [/api/rest] and action name [getBambooBuildNumber] associated with context path []. - [unknown location] at com.opensymphony.xwork2.DefaultActionProxy.prepare(DefaultActionProxy.java:185) at org.apache.struts2.impl.StrutsActionProxy.prepare(StrutsActionProxy.java:63) at org.apache.struts2.impl.StrutsActionProxyFactory.createActionProxy(StrutsActionProxyFactory.java:39) at com.opensymphony.xwork2.DefaultActionProxyFactory.createActionProxy(DefaultActionProxyFactory.java:58) at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:554) at org.apache.struts2.dispatcher.ng.ExecuteOperations.executeAction(ExecuteOperations.java:77) at org.apache.struts2.dispatcher.ng.filter.StrutsExecuteFilter.doFilter(StrutsExecuteFilter.java:93) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:46) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) at com.atlassian.applinks.core.rest.context.ContextFilter.doFilter(ContextFilter.java:25) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter.doFilter(DelegatingPluginFilter.java:74) at com.atlassian.plugin.servlet.filter.IteratingFilterChain.doFilter(IteratingFilterChain.java:42) at com.atlassian.plugin.servlet.filter.DelegatingPluginFilter$1.doFilter(DelegatingPluginFilter.java:66) ...
Notes
- If the REST api doesn't support this query it should return a 404 and avoid writing an exception into the server log
- I'm surprised that Struts is handling a request to /rest/api