Hallo zusammen,
folgendes Szenario:
Wir haben eine Web-Anwendung mittels AngularJS erstellt. Die Daten werden als JSON mittels OData-Services geladen.
Mittels WebSockets kommuniziert die Web-Anwendung zusätzlich mit einem Programm, das lokal auf dem Client-Rechner läuft. Und dieses lokale Programm wiederum nutzt den WebSocket um sich bestimmten Daten direkt aus dem SAP zu holen.
Der WebSocket selber wird im SAP geöffnet, Web-Anwendung und lokales Programm verbinden sich auf diesen.
Um eine gewisse Sicherheitsstufe einzuhalten ist dieser WebSocket gesichert und fordert Client-Zertifikate. Der WebSocket-Server hat ein vertrauenswürdiges Zertifikat und der Client im Normalfall auch.
Der Verbindungsaufbau der web-Anwendung als WebSocket-Client ist analog zu diesem Tutorial umgesetzt.
Problem:
Im Firefox läuft das alles ohne Probleme. Web-Anwendung lädt sich Daten, verbindet sich mit dem WebSocket und bittet den User, ein Zertifikat zur Anmeldung an den WebSocket zu wählen bzw. zu bestätigen.
im Internet Explorer lädt sich die Web-Anwendung die Daten, versucht siich mit dem WebSocket zu verbinden und scheitert. Meldung in der Entwicklerkonsole: WebSocket Error: Network Error 12044, Für die Clientauthenfizierung ist ein Zertifikat erforderlich.
Ich habe schon ein bisschen rum geschaut und erfahren, dass das ein Problem vom Internet Explorer ist. Laut Kollegen soll es wohl JavaScript Frameworks geben, die helfen dieses Problem zu lösen nur kann sich keiner an einen Namen erinnern.
Bei der Suche bin ich schon auf Socket.IO gestoßen, mich irrritiert aber das in deren Doku steht:
Socket.IO is NOT a WebSocket implementation.
Hat jemand von euch vielleicht eine Vorschlag für ein passendes Framework?