Picture of Steffen
Registered 2 years 354 days
Steffen Friday, 3 December 2021, 06:39 PM
Sporadische Timeouts bei SOAP Requests
Wir haben eine C# Anwendung, die eine von <http://www.innovaphone.com/wsdl/pbx11_00.wsdl> generierte Innovaphone SOAP Schnittstelle nutzt.
Unsere Anwednung verwendet die SOAP Schnittstelle um sämtliche Events über "PollAsync()" für konfigurierte Benutzer/Objekte zu erhalten und um 3rd Party CallControl zu machen.
Es gibt nun vereinzelt Fälle, bei denen ein "UserConnectAsync()" erst nach einem Timeout von 10-15 Sekunden in der Anlage ankommt und dann verarbeitet wird (wird bspw. verwendet für ein AutoAnswer-Feature).
Ich habe im Wiki bei "SOAP API" den folgenden Absatz gefunden:
"Many applications both react on events returned by Poll() and on events created by a client or by a user interface. In such cases, make sure that a single SOAP link (depending on the development environment used) is not used for 2 concurrent SOAP calls, as most development systems do not support this. Rather create 2 or more links. We have seen this problem with C#, for example."
Kann es damit zu tun haben?
Was bedeutet "create 2 or more links"? 2x "InitializeAsync()" mit unterschiedlichen Benutzern?
Irgendwelche anderen Ideen?
Picture of Dennis Mundt (innovaphone)
Moderator Registered 4 years 265 days
Dennis Mundt (innovaphone) Monday, 13 December 2021, 09:20 AM
1 of 1 users consider this post helpful
Re: Sporadische Timeouts bei SOAP Requests
Hallo Steffen,

zu diesem Problem haben wir einen Fall im Support.
Unsere aktuelle Erkenntnis ist, dass wir innerhalb der TLS-Session Pakete nicht decrypten können. Daher wird von uns ein Encrypted Alert gesendet und die Session abgebaut.

Gibt es einen Grund, warum der Recos-Server nicht sofort eine neue Session aufbaut?

Viele Grüße,
Dennis
Picture of Steffen
Registered 2 years 354 days
Steffen Monday, 13 December 2021, 01:00 PM
Re: Sporadische Timeouts bei SOAP Requests
In unserem C# Code blockiert in diesen Fällen der Aufruf des Requests.
Wir nutzen eine von <http://www.innovaphone.com/wsdl/pbx11_00.wsdl> importierte "Service Reference". Erst nach Ablauf des Timeouts (zumeist 15 Sekunden) erhalten wir den Response.
Grüße Steffen
Picture of Christoph Künkel (innovaphone)
Moderator Registered 14 years 357 days
Christoph Künkel (innovaphone) Wednesday, 15 December 2021, 03:17 PM in response to Steffen
2 of 2 users consider this post helpful
Re: Sporadische Timeouts bei SOAP Requests
Hallo Steffen,

nach meiner Erfahrung benutzt C# intern nur eine HTTP Verbindung auch wenn man in der Anwendung mehrere logische Endpunkte verwendet.

Das kann man aber verhindern, in dem man in diesem Connection Objekt (sorry, weiß nicht mehr, wie das genau heißt, eben das, worüber Du die Requests machst) die Property ConnectionGroupName für jede Verbindung mit einem anderen Wert setzt (ich hab da glaube ich einfach ein "Guid.NewGuid();" verwendet). Dann verwendet jede Verbindung seine eigene ConnectionGroup und es überschneidet sich nichts (siehe z.B. https://docs.microsoft.com/en-us/dotnet/api/system.net.httpwebrequest.connectiongroupname?view=netframework-4.8)

Vielleicht verursacht das Deine Probleme, denn in der Regel wird man ja ein Poll asynchron ausführen. Wenn währenddessen ein weiterer Request auf der gleichen HTTP Verbindung gemacht wird, dann ist das HTTP Protokoll Kaputt.

LG, Christoph
Picture of Steffen
Registered 2 years 354 days
Steffen Thursday, 16 December 2021, 09:00 PM
1 of 1 users consider this post helpful
Re: Sporadische Timeouts bei SOAP Requests
Wir haben mittlerweile - wie im Ticket angefragt - die SOAP Kommunikation auf HTTP umgestellt und haben seither keinerlei Timeouts mehr gehabt.
Ist natürlich nicht die endgültige Lösung aber für den Kunden erst mal in Ordnung. Wir versuchen das Problem im Labor zu reproduzieren und dann weiter einzugrenzen.
← You can define your color theme preference here