Skip to main content

I have installed FME Server on a machine called "fmeserver-dev.com" and also used this as the hostname.

Later we switched everything to SSL (including the Websockets) and the external web host name to "(https://)fmeserver-prod.com".

 

 

Now, everything (Web UI, Services, Websockets...) is working fine, except the Topic Monitoring!

 

 

Using the Developer Tools of a web browser, I have identified that there is still a parameter 'webSocketServerName' set to the old hostname "fmeserver-dev.com". This must be causing the issue as the SSL certificate is not configured for that domain. How can I fix this?

An additional step needs to be performed.

1. Open the Web UI Properties File in a text editor: <FMEServer>\\Utilities\\tomcat\\webapps\\fmeserver\\WEB-INF\\conf\\propertiesFile.properties

2. Add the line WEB_SOCKET_SERVER_NAME=fmeserver-prod.com (i.e. specify the new hostname)

2a. (Optional) Add the parameter WEB_SOCKET_SERVER_PORT and set the appropriate value. This optional step was not needed in two cases of this issue, but may be useful for other configurations.

3. Restart FME Server

4. Test Topic Monitoring


Another reason for this problem could be a misconfigured WebSocket.properties files for publishers and subscribers

The Topic Monitoring functionality is using a WebSocket publication to monitor a topic. So while the WebSocket Server of FME Server might be working as expected the Topic monitoring might still fail because the WebSocket publisher was misconfigured.

When we enable SSL on the WebSocket Server we need to specify the that SSL is enabled and provide a path and a password for the keystore file with your imported SSL certificate in 3 different files:

  1. <FMEServerDir>\Server\fmeWebSocketConfig.txt
  2. <FMEServerDir>\Server\config\subscribers\websocket.properties
  3. <FMEServerDir>\Server\config\publishers\websocket.properties

A common and also easy to make mistake is the use of windows slashes in the path for the parameter WEBSOCKET_KEYSTORE_FILE_PATH. Even if you installed FME Server on Windows those paths need to be specified with UNIX style slashes. Here is an example of a correct path parameter:

WEBSOCKET_KEYSTORE_FILE_PATH=C:/Program Files/FMEServer/Utilities/tomcat/tomcat.keystore

If you are using a self-signed certificate, try Topic Monitoring in Google Chrome.

 

Chrome tends to be more forgiving to self-signed certificates where Internet Explorer or Microsoft Edge may require the certificate to be imported for Topic Monitoring to work. The instructions for importing can be found here.

An additional step needs to be performed.

1. Open the Web UI Properties File in a text editor: <FMEServer>\\Utilities\\tomcat\\webapps\\fmeserver\\WEB-INF\\conf\\propertiesFile.properties

2. Add the line WEB_SOCKET_SERVER_NAME=fmeserver-prod.com (i.e. specify the new hostname)

2a. (Optional) Add the parameter WEB_SOCKET_SERVER_PORT and set the appropriate value. This optional step was not needed in two cases of this issue, but may be useful for other configurations.

3. Restart FME Server

4. Test Topic Monitoring

Thank you! This resolved the problem we were having with the Topic Monitoring in 2019. The first answer is really good and covers the steps in the 2019 documentation.

This answer resolved our issue as we use an alias for our FME Server name and putting the dns alias in line: WEB_SOCKET_SERVER_NAME resolved our issue. This name entry matches the dns name the certificate was generated for the FME server.

 

Thanks for the help!


Another reason for this problem could be a misconfigured WebSocket.properties files for publishers and subscribers

The Topic Monitoring functionality is using a WebSocket publication to monitor a topic. So while the WebSocket Server of FME Server might be working as expected the Topic monitoring might still fail because the WebSocket publisher was misconfigured.

When we enable SSL on the WebSocket Server we need to specify the that SSL is enabled and provide a path and a password for the keystore file with your imported SSL certificate in 3 different files:

  1. <FMEServerDir>\Server\fmeWebSocketConfig.txt
  2. <FMEServerDir>\Server\config\subscribers\websocket.properties
  3. <FMEServerDir>\Server\config\publishers\websocket.properties

A common and also easy to make mistake is the use of windows slashes in the path for the parameter WEBSOCKET_KEYSTORE_FILE_PATH. Even if you installed FME Server on Windows those paths need to be specified with UNIX style slashes. Here is an example of a correct path parameter:

WEBSOCKET_KEYSTORE_FILE_PATH=C:/Program Files/FMEServer/Utilities/tomcat/tomcat.keystore

This helped me. I configured the path with double quotes due to Program Files having a space, but removing them resolved my topic monitoring issues. Thanks.


Reply