Si, I haven't yet thought of a way to see the attributes getting lost in the SVN code. I was able to see it in my code because I used redirect and forced an error which wasn't displayed. Ordermgr quickship uses redirect which might show this problem also.
Anyway, I tried the obvious solution (commenting out the restore attribute code in RequestHandler.java) and it does show the error that I wasn't able to see before. I don't yet know if it breaks anything. Regards, Vinay Agarwal -----Original Message----- From: Si Chen [mailto:[EMAIL PROTECTED] Sent: Friday, July 21, 2006 10:17 AM To: [email protected] Subject: Re: Redirect: Restoring Request Attributes How do I replicate this bug you are reporting? I am hoping that might solve the "Service invocation error: commit transaction failed" error messages as well, by the way, so I'd be happy to look through this with you. Si On Jul 21, 2006, at 10:13 AM, Vinay Agarwal wrote: > Hello, > > > > My investigation of why my error messages (in request) are getting > lost during redirect, leads me to suspect that the request attribute > restore code may not be working as desired. Of course, I may have > totally misunderstood it J. > > > > The way the code restores the request attributes is by copying them > into session attribute "_REQ_ATTR_MAP_". These attributes are put back > into request after redirection in two places, ContextFilter.java (130) > and RequestHandler.java (295). > > > > When a user request a url that will result in redirection, the traced > steps are as follows: > > 1. ContextFilter (130), session attribute "_REQ_ATTR_MAP_" > is null > > 2. Code stores request attributes to session attribute > "_REQ_ATTR_MAP_" > before calling response.sendRedirect > > 3. RequestHandler (295), session attribute "_REQ_ATTR_MAP_" > contains > all attributes > > 4. Attributes are copied to request object correctly and session > attribute "_REQ_ATTR_MAP_" is set to null > > 5. ContextFilter (130), session attribute "_REQ_ATTR_MAP_" > is null > and request object does not contain any attributes copied in step 4. > > 6. RequestHandler (295), session attribute "_REQ_ATTR_MAP_" > contains > all attributes and request object does not contain any attributes > copied in step 4. > > > > As seen from steps 5 and 6, all request attributes copied in step 4 > are lost. I would appreciate any help in resolving it. Thanks in > advance. > > > > Regards, > > Vinay Agarwal > > >
