on 10-21-2004 5:21 PM
Hi all!
I'm developing an Internet Sales 4.0 (CRM). We're getting an error when session expires and try to launch an action. These are the steps I take:
1) Login on to ISA CRM.
2) Choose the shop in showshoplist.jsp
3) Click on button or link that calls an action.
Everything works fine. Then, I wait for session expires. When I click on another link, with invalidate session, ISA doesn't detect it or it produces an uncached exception.
This is the ServletException (it shows in managers/console_logs/2004_10_21_at_16_3_9_error.log) that it launches:
javax.servlet.ServletException
at
com.inqmy.services.servlets_jsp.server.jsp.PageContextImpl.handleErrorPage(PageContextImpl.java:750)
at
com.inqmy.services.servlets_jsp.server.jsp.PageContextImpl.handlePageException(PageContextImpl.java:719)
at
jsp_invalidsession1090342164478._jspService(jsp_invalidsession1090342164478.java:210)
at
com.inqmy.services.servlets_jsp.server.jsp.JSPServlet.service(JSPServlet.java:306)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
com.inqmy.services.servlets_jsp.server.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:275)
at
com.inqmy.services.servlets_jsp.server.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:310)
at
org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1758)
at
com.sapmarkets.isa.core.ActionServlet.processActionForward(ActionServlet.java:264)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1595)
at com.sapmarkets.isa.core.ActionServlet.process(ActionServlet.java:422)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
com.inqmy.services.servlets_jsp.server.RequestDispatcherImpl.doWork(RequestDispatcherImpl.java:275)
at
com.inqmy.services.servlets_jsp.server.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:310)
at
org.apache.struts.action.ActionServlet.processActionForward(ActionServlet.java:1758)
at
com.sapmarkets.isa.core.ActionServlet.processActionForward(ActionServlet.java:264)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1595)
at com.sapmarkets.isa.core.ActionServlet.process(ActionServlet.java:422)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:509)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
com.inqmy.services.servlets_jsp.server.FilterChainImpl.runServlet(FilterChainImpl.java:137)
at
com.inqmy.services.servlets_jsp.server.FilterChainImpl.doFilter(FilterChainImpl.java:70)
at com.tealeaf.capture.LiteFilter.doFilter(LiteFilter.java:98)
at com.sapmarkets.isa.isacore.TealeafFilter.doFilter(TealeafFilter.java:57)
at
com.inqmy.services.servlets_jsp.server.FilterChainImpl.doFilter(FilterChainImpl.java:65)
at
com.inqmy.services.servlets_jsp.server.RunServlet.runSerlvet(RunServlet.java:135)
at
com.inqmy.services.servlets_jsp.server.ServletsAndJspImpl.startServlet(ServletsAndJspImpl.java:833)
at
com.inqmy.services.httpserver.server.RequestAnalizer.checkFilename(RequestAnalizer.java:665)
at
com.inqmy.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:312)
at com.inqmy.services.httpserver.server.Response.handle(Response.java:173)
at
com.inqmy.services.httpserver.server.HttpServerFrame.request(HttpServerFrame.java:1229)
at
com.inqmy.core.service.context.container.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:36)
at com.inqmy.core.cluster.impl5.ParserRunner.run(ParserRunner.java:55)
at com.inqmy.core.thread.impl0.ActionObject.run(ActionObject.java:46)
at java.security.AccessController.doPrivileged(Native Method)
at com.inqmy.core.thread.impl0.SingleThread.run(SingleThread.java:148)
-
And the isaruntime.log shows (last action and session expires):
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='begin'
[actionclass]='com.sapmarkets.isa.catalog.actions.UpdateItemsFromPageAction'
[path]='/catalog/updateItems'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='end'
[actionclass]='com.sapmarkets.isa.catalog.actions.UpdateItemsFromPageAction'
[path]='/catalog/updateItems'
[forward]='/catalog/products.do?popUpCompare=yes' [exectime]='0'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='begin'
[actionclass]='com.sapmarkets.isa.catalog.actions.GetProductsAction'
[path]='/catalog/products'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='end'
[actionclass]='com.sapmarkets.isa.catalog.actions.GetProductsAction'
[path]='/catalog/products' [forward]='/b2b/captureviewcategory.do'
[exectime]='0'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='begin'
[actionclass]='com.sapmarkets.isa.isacore.action.CaptureViewCategoryAction'
[path]='/b2b/captureviewcategory'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='end'
[actionclass]='com.sapmarkets.isa.isacore.action.CaptureViewCategoryAction'
[path]='/b2b/captureviewcategory' [forward]='/catalog/itemPage.do'
[exectime]='0'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='begin'
[actionclass]='com.sapmarkets.isa.catalog.actions.GetItemPageAction'
[path]='/catalog/itemPage'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='end'
[actionclass]='com.sapmarkets.isa.catalog.actions.GetItemPageAction'
[path]='/catalog/itemPage' [forward]='/catalog/contracts.do'
[exectime]='0'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='begin'
[actionclass]='com.sapmarkets.isa.catalog.actions.ISAGetContractInfoAction'
[path]='/catalog/contracts'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='end'
[actionclass]='com.sapmarkets.isa.catalog.actions.ISAGetContractInfoAction'
[path]='/catalog/contracts' [forward]='/catalog/getAttributes.do'
[exectime]='0'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='begin'
[actionclass]='com.sapmarkets.isa.catalog.actions.GetCategorieAttributesAction'
[path]='/catalog/getAttributes'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='end'
[actionclass]='com.sapmarkets.isa.catalog.actions.GetCategorieAttributesAction'
[path]='/catalog/getAttributes' [forward]='/catalog/prices.do'
[exectime]='0'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='begin'
[actionclass]='com.sapmarkets.isa.catalog.actions.GetPricesAction'
[path]='/catalog/prices'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='end'
[actionclass]='com.sapmarkets.isa.catalog.actions.GetPricesAction'
[path]='/catalog/prices' [forward]='/auction/bidder/checkforauctions.do'
[exectime]='0'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='begin'
[actionclass]='com.sapmarkets.isa.auction.bidder.actions.CheckAuctionsForItems'
[path]='/auction/bidder/checkforauctions'
Oct 21, 2004 4:38:32 PM b2b.tracing.isa.runtime
[Client_Thread_14] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='end'
[actionclass]='com.sapmarkets.isa.auction.bidder.actions.CheckAuctionsForItems'
[path]='/auction/bidder/checkforauctions'
[forward]='/catalog/ProductsISA.jsp' [exectime]='0'
Oct 21, 2004 4:38:40 PM b2b.tracing.isa.runtime
[Client_Thread_15] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='begin'
[actionclass]='com.sapmarkets.isa.catalog.actions.CompareItemsAction'
[path]='/catalog/compareItems'
Oct 21, 2004 4:38:40 PM b2b.tracing.isa.runtime
[Client_Thread_15] Debug:
[ID705633361DB0.5192807066445237End|?][actionxecution]='end'
[actionclass]='com.sapmarkets.isa.catalog.actions.CompareItemsAction'
[path]='/catalog/compareItems' [forward]='/catalog/CompareItemsISA.jsp'
[exectime]='0'
Oct 21, 2004 5:05:02 PM b2b.tracing.isa.runtime
[CCCexpiration] Debug: [released|?][jcofuncionexecution]='begin'
[funcname]='SRET_INDEX_STORAGE_SEARCHING'
[ashost]='pordes1.rfc_sapretrieval' [sysid]='(extern)'
Oct 21, 2004 5:05:02 PM b2b.tracing.isa.runtime
[CCCexpiration] Debug: [released|?][jcofunctionexecution]='end'
[funcname]='SRET_INDEX_STORAGE_SEARCHING'
[ashost]='pordes1.rfc_sapretrieval' [sysid]='(extern)' [exectime]='15'
Oct 21, 2004 5:05:16 PM b2b.tracing.isa.runtime
[CCCexpiration] Debug: [released|?][jcofuncionexecution]='begin'
[funcname]='SRET_INDEX_STORAGE_SEARCHING'
[ashost]='pordes1.rfc_sapretrieval' [sysid]='(extern)'
Oct 21, 2004 5:05:16 PM b2b.tracing.isa.runtime
[CCCexpiration] Debug: [released|?][jcofunctionexecution]='end'
[funcname]='SRET_INDEX_STORAGE_SEARCHING'
[ashost]='pordes1.rfc_sapretrieval' [sysid]='(extern)' [exectime]='15'
Thank you very very much!
Best regards!!
Antonio.
A fix for this is to implement your own Servlet Filter which checks if the session is valid for all .do calls. If it isn't it will re-initiate the session or redirect the user to the front page of the shop.
This works well for the ISA shops.
Cheers,
Kalle
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Kalle,
I'm trying that what you said, but I'm having problems with the url-pattern. How to set this? The default application has *.do and .jsp as url-pattern for TeaLeafCapture. Then I wrote / as MySessionFilter pattern, but Server Error 500 occurs. All the server calls has to pass through MySessionFilter.
Thank you!!
Best regards,
Antonio.
User | Count |
---|---|
86 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.