Hi all,

I've searched the archive, but haven't found an occurrence of the exact
same problem I am encountering.

Here is a description of the problem:

My intention is to use transactional tokens to prevent duplicate posting of
a form where a user deletes a row in a list of search results. After the
delete is successful, I use the browser's back button to return to the list
of search results and attempt to submit the request to delete the same row
again. At this point, an ArrayIndexOutOfBoundsException is thrown (the
exception stack trace is provided below). After examining the debug log
statements, it appears that the logic to validate the transactional token
in the action has not yet been reached. The debug log statements indicate
that the form's reset method is invoked and the getter for the list is
called, but that is where it fails. The Struts logic is attempting to go
past the last valid index in the list and I have not found a way to catch
this nor prevent it.

If anyone has any ideas, it would be much appreciated.

Thanks in advance,

Christina



                                                                                       
                                                             
                                       Here is the Exception Stack Trace:              
                                                             
                                       >>>>> 
com.ibm.servlet.engine.webapp.WebAppErrorReport                                        
                
                                       
com.ibm.servlet.engine.webapp.WebAppErrorReport: BeanUtils.populate                    
                      
                                                at 
com.ibm.servlet.engine.webapp.WebApp.sendError(WebApp.java:597)                        
          
                                                at 
com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:188)             
          
                                                at 
com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:239)  
          
                                                at 
com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
    
                                                at                                     
                                                             
                                       
com.ibm.servlet.engine.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:106)
     
                                                at                                     
                                                             
                                       
com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:154)
           
                                                at 
com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315) 
          
                                                at 
com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)     
          
                                                at 
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323)           
          
                                                at 
com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252)                            
          
                                                at 
com.ibm.ws.util.CachedThread.run(ThreadPool.java:137)                                  
          
                                       >>>>> javax.servlet.ServletException            
                                                             
                                       javax.servlet.ServletException: 
BeanUtils.populate                                                           
                                                at 
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254)                   
          
                                                at 
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)   
          
                                                at 
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)           
          
                                                at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)                
          
                                                at 
ca.toyota.core.controller.ControllerServlet.process(ControllerServlet.java:600)        
          
                                                at 
org.apache.struts.action.ActionServlet.$BIP$doPost(ActionServlet.java:525)             
          
                                                at 
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java)                      
          
                                                at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:760)                           
          
                                                at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)                           
          
                                                at 
com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827) 
          
                                                at 
com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
   
                                                at 
com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
          
                                                at 
com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
    
                                                at 
com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)         
          
                                                at 
com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
      
                                                at 
com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
         
                                                at                                     
                                                             
                                       
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:678)
 
                                                at 
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:331)
 
                                                at 
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:117)
  
                                                at 
com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)             
          
                                                at 
com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:239)  
          
                                                at 
com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
    
                                                at                                     
                                                             
                                       
com.ibm.servlet.engine.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:106)
     
                                                at                                     
                                                             
                                       
com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:154)
           
                                                at 
com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315) 
          
                                                at 
com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)     
          
                                                at 
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323)           
          
                                                at 
com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252)                            
          
                                                at 
com.ibm.ws.util.CachedThread.run(ThreadPool.java:137)                                  
          
                                       >>>>> java.lang.ArrayIndexOutOfBoundsException  
                                                             
                                       java.lang.ArrayIndexOutOfBoundsException        
                                                             
                                                at java.lang.reflect.Array.get(Native 
Method)                                                       
                                                at 
org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:525)  
          
                                                at 
org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:428)  
          
                                                at 
org.apache.commons.beanutils.PropertyUtils.getNestedProperty(PropertyUtils.java:770)   
          
                                                at 
org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:801)         
          
                                                at 
org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:881)                 
          
                                                at 
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)                    
          
                                                at 
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)                   
          
                                                at 
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)   
          
                                                at 
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)           
          
                                                at 
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)                
          
                                                at 
ca.toyota.core.controller.ControllerServlet.process(ControllerServlet.java:600)        
          
                                                at 
org.apache.struts.action.ActionServlet.$BIP$doPost(ActionServlet.java:525)             
          
                                                at 
org.apache.struts.action.ActionServlet.doPost(ActionServlet.java)                      
          
                                                at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:760)                           
          
                                                at 
javax.servlet.http.HttpServlet.service(HttpServlet.java:853)                           
          
                                                at 
com.ibm.servlet.engine.webapp.StrictServletInstance.doService(ServletManager.java:827) 
          
                                                at 
com.ibm.servlet.engine.webapp.StrictLifecycleServlet._service(StrictLifecycleServlet.java:167)
   
                                                at 
com.ibm.servlet.engine.webapp.IdleServletState.service(StrictLifecycleServlet.java:297)
          
                                                at 
com.ibm.servlet.engine.webapp.StrictLifecycleServlet.service(StrictLifecycleServlet.java:110)
    
                                                at 
com.ibm.servlet.engine.webapp.ServletInstance.service(ServletManager.java:472)         
          
                                                at 
com.ibm.servlet.engine.webapp.ValidServletReferenceState.dispatch(ServletManager.java:1012)
      
                                                at 
com.ibm.servlet.engine.webapp.ServletInstanceReference.dispatch(ServletManager.java:913)
         
                                                at                                     
                                                             
                                       
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:678)
 
                                                at 
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:331)
 
                                                at 
com.ibm.servlet.engine.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:117)
  
                                                at 
com.ibm.servlet.engine.srt.WebAppInvoker.doForward(WebAppInvoker.java:134)             
          
                                                at 
com.ibm.servlet.engine.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:239)  
          
                                                at 
com.ibm.servlet.engine.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:67)
    
                                                at                                     
                                                             
                                       
com.ibm.servlet.engine.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:106)
     
                                                at                                     
                                                             
                                       
com.ibm.servlet.engine.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:154)
           
                                                at 
com.ibm.servlet.engine.oselistener.OSEListenerDispatcher.service(OSEListener.java:315) 
          
                                                at 
com.ibm.servlet.engine.http11.HttpConnection.handleRequest(HttpConnection.java:60)     
          
                                                at 
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:323)           
          
                                                at 
com.ibm.ws.http.HttpConnection.run(HttpConnection.java:252)                            
          
                                                at 
com.ibm.ws.util.CachedThread.run(ThreadPool.java:137)                                  
          
                                                                                       
                                                             
                                                                                       
                                                             





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to