[ 
https://issues.apache.org/struts/browse/STR-3000?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_40663
 ] 

Niall Pemberton commented on STR-3000:
--------------------------------------

Chris,

You're right about the exception handler only working for actions in Struts 
1.2.x - but this is not the case for Struts 1.3 if you use the new (preferred) 
ComposableRequestProcessor based on commons Chain. If you're still seeing the 
same exception then it implies that you're still using the older 
RequestProcessor (presumably by configuring it in the controller element of 
your struts-config.xml).

Also do you really think its from the user rather than a mis-configuration of 
your application - since that implies somebody is somehow injecting parameters 
with invalid names into your request? If thats the case then I would agree with 
Henri that throwing an exception is the right thing to do. If not then its 
something in your application.

Either way it looks to me like this should be closed as INVALID at this point.

> IllegalArgumentException not handled while processing query string
> ------------------------------------------------------------------
>
>                 Key: STR-3000
>                 URL: https://issues.apache.org/struts/browse/STR-3000
>             Project: Struts 1
>          Issue Type: Bug
>          Components: Core
>    Affects Versions: 1.2.9, 1.3.5
>         Environment: Using jakarta-tomcat 5.0.28 and java1.4.2.
>            Reporter: Chris Book
>             Fix For: 1.4.0
>
>
> The following exception is routinely in my tomcat logs.  I'm not sure of the 
> exact query string that causes the property parsing to crash, but this 
> exception is unhandled.  Regardless, struts shouldn't allow this exception to 
> get down to the tomcat layer.
> I've set this as 'major' because it seems to cause tomcat to eventually stop 
> responding to requests. I upgraded from 1.2.9 to 1.3.5 hoping this would be 
> fixed but it crashes with both versions.
> 2007-01-28 12:10:04 StandardWrapperValve[action]: Servlet.service() for 
> servlet action threw exception
> java.lang.IllegalArgumentException: Invalid mapped property ' U  (feat'
>         at 
> org.apache.commons.beanutils.PropertyUtilsBean.getMappedProperty(PropertyUtilsBean.java:476)
>         at 
> org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:662)
>         at 
> org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
>         at 
> org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:884)
>         at 
> org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
>         at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
>         at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:451)
>         at 
> org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:794)
>         at 
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:191)
>         at 
> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
>         at 
> org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:446)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237)
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at 
> org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198)
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>         at 
> org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104)
>         at 
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
>         at 
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
>         at 
> org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
>         at 
> org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:300)
>         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374)
>         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743)
>         at 
> org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:675)
>         at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866)
>         at 
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683)
>         at java.lang.Thread.run(Thread.java:534)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to