I have a JSF 2.0 web application running on glassfish 3.1 that is working fine on IE, FF, Safari and Chrome.
When I added the url of my website inside a iframe of another website then I am getting ViewExpiredException after clicking any button inside iframe - This happens only on Safari, works fine in IE, FF, Chrome.
<iframe style="width: 100%; height: 800px" src="url_of_my_website" frameBorder="0"></iframe>
Following are my observations
- Deployed the same application on glassfish 3.0.1 and the problem doesn't happen
- If I open my website without frame, it works fine irrespective of browser
- Developed the same application using JSF1.2 and RF 3.3.3 and the problem doesn't happen
As per my understanding, we get ViewExpiredException when any action is performed on a page whose session is expired. But in this particular case it happens just after the website gets load loaded.
I'm not sure about what's causing it. Is it Safari/JSF 2.0/GF 3.1/IFRAME?
Update: I found an interesting problem. On my home page, I have a h:commandLink that redirects me to a new page. Also, I have a href link to redirect to some other page. When I click on the commandLink, I'm getting ViewExpiredException but when I click on href link, I'm not getting any exceptions and the page is redirected and I can proceed with further operations as session cookie is getting established.