Paul Piper created OFBIZ-5037:
---------------------------------

             Summary: ControlServlet - Exception thrown for requests not 
defined by controller.xml
                 Key: OFBIZ-5037
                 URL: https://issues.apache.org/jira/browse/OFBIZ-5037
             Project: OFBiz
          Issue Type: Improvement
          Components: ALL APPLICATIONS
            Reporter: Paul Piper
            Priority: Trivial


The current rendering within OFBiz expects the following setup:

* Request is always submit against /control
* /control will pickup the request and handle by ControlServlet
* ControlServlet will check within controller.xml for an entry

Because of it, the ControlServlet will intercept any request coming towards the 
application, except for requests that are mapped against similar servlets (/cms 
or alike). ControlServlet will throw an exception if no request is found and 
try to redirect towards an error page. 

The underlying assumption here is that ControlServlet is always in the lead for 
rendering pages, unless the internal CMS is used. This does not have to be the 
case, however, since in practice it is also possible for users to implement a 
replacing cms or other means for rendering the pages. In those cases 
ControlServlet will still throw an error, albeit the request may already have 
been handled by a wrapping system:

{code}
2012-09-18 09:54:22,869 (http-0.0.0.0-8080-13) [ ControlServlet.java:141:INFO ] 
[[[fm1] Request Begun, encoding=[UTF-8]- total:0.0,since last(Begin):0.0]]
2012-09-18 09:54:22,870 (http-0.0.0.0-8080-13) [ ControlServlet.java:227:ERROR] 
---- exception report 
---------------------------------------------------------- Error in request 
handler: Exception: org.ofbiz.webapp.control.RequestHandlerException Message: 
Unknown request [fm1]; this request does not exist or cannot be called 
directly. ---- stack trace 
--------------------------------------------------------------- 
org.ofbiz.webapp.control.RequestHandlerException: Unknown request [fm1]; this 
request does not exist or cannot be called directly. 
org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:146) 
org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:224) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:617) 
javax.servlet.http.HttpServlet.service(HttpServlet.java:717) 
{code}

Since this is a minor issue, I propose to remove the underlying exception and 
rather throw a warning instead. This would allow the users to extend the 
Servlet by their own means and yet allow the purpose to remain unchanged 
(clearly a logged message is wanted here). I will attach a patch to fix the 
issue.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to