Blank blue screen seen when attempting to open a report in the TIBCO Spotfire Web Player or mobile clients

Blank blue screen seen when attempting to open a report in the TIBCO Spotfire Web Player or mobile clients

book

Article ID: KB0072254

calendar_today

Updated On:

Products Versions
Spotfire Web Player 10.6 and higher

Description

When attempting to open a report in the TIBCO Spotfire Web Player or on mobile device, a blank blue screen is displayed instead of the analysis file:
User-added image
This issue normally is seen when trying to access the report from outside the internal network or when accessing Spotfire Server through other devices like a load balancer, proxy, etc.

One very common cause for this is when network devices like load balancers, reverse proxies, firewall, etc which are located between end-user's client machine and TIBCO Spotfire Server machine are not allowing, or interfering with, the websockets protocol which is required for correct Spotfire operation as of TIBCO Spotfire version 10.6. This KB article will help determine if this is the root cause.

Note: There are other potential causes for a blue blank screen, such as:
  • Load Balancer/Proxy/Firewall interference with the Spotfire HTTP requests (for example, cookie or header manipulation)
  • Spotfire Server cluster stability issues relating to Apache Ignite
If the issue is confirmed not to be due to websocket protocol interference as described in the KB article, please contact TIBCO Support for further assistance. 

Issue/Introduction

When attempting to open a report in the TIBCO Spotfire Web Player or on mobile device, a blank blue screen is displayed instead of the report. This normally occurs when trying to access the report from outside the internal network or when accessing Spotfire Server through other devices like a load balancer, proxy, etc.

Environment

All

Resolution

First, confirm that external interference with the websocket protocol is the root cause in your situation. This can be done using either or both of the following methods:

Method 1: Disabling websockets

As a diagnostic test to confirm this is the issue in your environment, you can disable the use of websockets in Spotfire by setting webSocketsEnabled="False" in the Spotfire Web Player configuration (and ensuring the updated configuration is used by your Web Player, see Manually editing the service configuration files). Note: If you are going to analyze streaming data in web clients, this variable must be set to true, but even if you plan to use streaming, disabling this setting can be very useful way to help isolate the root cause. 

If the files open successfully after disabling WebSockets, then the issue is confirmed to be due to interference with the websocket protocol in the environment and investigation needs to continued by the end-user's IT or network team.

Method 2: Websocket test separate from TIBCO Spotfire

Another diagnostic tool is to run the attached javascript (ws-spotfire) that mimics Spotfire's use of WebSockets. A short video (ws-test.mp4) showing its use is also attached.

This small test app (ws-server.zip) should be installed on a server as close to the TIBCO Spotfire Server as possible.

This is a Node.js application that creates a web socket server and an html page that shows the attempt to connect to that web socket server. This mimics the Spotfire behavior (except support for https) and is helpful to show if there is a general problem with websocket usage in the environment. Ensure node.js is installed and the ports 8080 and 8081 are open and accessible.

Instructions:
1. Extract the contents of the .zip file on the server machine (Spotfire Server or Node Manager) , then install the program using:
 >npm start
This will start a web server at port 8080 and a web socket server on port 8081 (can be changed if needed)

2. Open a browser to the server (port 8080) where the app was installed
3. See that the connection status field turns green (WS-test.mp4)
4. Press send and see that the web socket server returns a valid response
5, Perform the same test using a client and connection where Spotfire fails to set up a web socket connection

If the test server fails to set up a websocket connection, then the issue is confirmed to be due to interference with the websocket protocol in the environment and investigation needs to continued by the end-user's IT or network team.

Diagram:
User-added image

If either of these tests confirm that there is an issue with the use of websockets in the environment, then the end-user's IT or network team should continue the investigation. Specifically, the network devices (Load balancer / Reverse proxy / Firewall / etc) between Spotfire Server and end-user client machine should be investigated to ensure they are not interfering with the websockets protocol which is required for correct Spotfire operation.

Additional Information

External: WebSocket protocol Doc: Spotfire.Dxp.Worker.Core.config file > webSocketsEnabled Doc: Manually editing the service configuration files

Attachments

Blank blue screen seen when attempting to open a report in the TIBCO Spotfire Web Player or mobile clients get_app
Blank blue screen seen when attempting to open a report in the TIBCO Spotfire Web Player or mobile clients get_app