Date Posted:
Product: TIBCO Spotfire®
Product: TIBCO Spotfire®
Problem:
If multiple reports are opened from different iFrames in a single page, they randomly fail with "The requested analysis is not loaded on the server."
Solution:
For Versions 7.0 and Lower:
When you have more than one iFrame (in a single page) opening different Spotfire reports, some of them will randomly fails with the error message "The requested analysis is not loaded on the server".
Cause:
Two or more frames make a connection/request to the web server and each gets its own ASP.NET session ID back. The browser then detects that there are multiple session Id's to the same server. The browser does not allow this, so it changes the session Id to be the same for all frames. The next request to the Web Player for an analysis (waid) in a frame will then have a new session Id, the server will not find the analysis (waid) in the new session, and the server will report the error back to the client frame.
When you have more than one iFrame (in a single page) opening different Spotfire reports, some of them will randomly fails with the error message "The requested analysis is not loaded on the server".
Cause:
Two or more frames make a connection/request to the web server and each gets its own ASP.NET session ID back. The browser then detects that there are multiple session Id's to the same server. The browser does not allow this, so it changes the session Id to be the same for all frames. The next request to the Web Player for an analysis (waid) in a frame will then have a new session Id, the server will not find the analysis (waid) in the new session, and the server will report the error back to the client frame.
The solution is to have the outer HTML file that contains the iFrames code, to access a resource on the Web Player that requires a session first. This way, the page always gets the ASP.NET sessionId before the IFramesLoad. Then all the iFrames will use the same sessionId. The easiest way is to include a JavaScript reference in the outer page or by letting one of the frames load first and create the other frames using JavaScript after the first frame is loaded.
Comments
0 comments
Article is closed for comments.