Invalidate Response String coming from external app on Browser win refresh
I've the below scenario:
I've a webdynpro java application which is capturing the response paramsters coming from a web application in it's init method of the component controller.
It is able to do it successfully.
Now, when the user refreshes the browser window; I want the application session to be killed.
The problem that we are facing currently is that on click of the refresh button also we are able to capture the response params being fired from a web application although we do not want it.
I.e. Whenever the user refreshes the browser window, the response parameters coming from the extrenal web application should not get captured and it should return them as null parameters.
Could it be a browser cache issue i.e. since it is already captured once if the user refreshes the browser window also, they get captured again ???
Please assist as how can we invalidate the response parameters coming from the external application on refreshing the browser window.
Thanks & Regards,
Robin van het Hof replied
When a user refreshes the browser window, the wdInit() method of the Web Dynpro application will be executed again. So actually the behavior you see is as expected.
As a workaround, you could set a session variable in the Client Databag holding the state of the received response, ie.
WDScopeUtil.put(WDScopeType.CLIENTSESSION_SCOPE, "responseAlreadyReceived", "true");
and in your wdInit() method check if the response already has been captured, ie.
String isReceived = WDScopeUtil.get(WDScopeType.CLIENTSESSION_SCOPE, "responseAlreadyReceived");