ServicePoint Analyst Chat Initialization Failure with Reverse Proxy or SAML Environment
search cancel

ServicePoint Analyst Chat Initialization Failure with Reverse Proxy or SAML Environment

book

Article ID: 453146

calendar_today

Updated On:

Products

CA Service Management - Service Desk Manager CA Service Desk Manager

Issue/Introduction

Users attempting to initiate an Analyst chat session in ServicePoint may receive the error message: 'The chat session could not be initialized.' This issue often occurs in ServicePoint environments configured with a reverse proxy or SAML
 
Example :
 
Die Chat-Sitzung konnte nicht initialisiert werden. Wenden Sie sich an den Administrator.
 
 
Translation : 
The chat session could not be initialized. Contact the administrator.
 
 
In F12 Internet Browser console (development tool) we could see following error :
 
The provided URL 'ws://<server_url>/websocket' for PushNotificationsWebSocket is not in proper format.
The provided URL 'ws://<server_url>/collaboration' for CollaborationWebSocket is not in proper format.

Environment

  • Service Desk Manager 17.4.5
  • xFlow components
  • SAML Environment with usage of Microsoft Azure Application gateway
  • In xFlow\APPS\Services\incidentmicroservice-17.0.479\public\conf\casm.conf.js following has been configured :

websocket : {
   server : 'wss://<server_url>/websocket'
},
collaboration:{
   server : 'wss://<server_url>/collaboration'
},

Cause

The error is caused by a strict WebSocket URL validation in the main.*.js file that fails when a reverse proxy is present.

Resolution

  1. Stop "CA xFlow Analyst Interface" service

  2. In C:\Program Files\CA\xFlow\APPS\Services\incidentmicroservice-17.0.479\public rename the file main.a4f5b8387b2bd2b9.js as main.a4f5b8387b2bd2b9.js.ori

    Or file main.12631950a9d63f6b.js

    The specific filename for main.*.js can be identified by checking casm.html

  3. Search the string

    this.webSocketURLRegEx = new RegExp("wss?://.:[0-9]")

    and replace it by

    this.webSocketURLRegEx = new RegExp("wss?://.*")

  4. Save the modification 

  5. Start "CA xFlow Analyst Interface" service