Wissensdatenbank

1 000 FAQs, 500 Anleitungen und erläuternde Videos. Hier gibt es nur Lösungen!

Callbacks und SOAP-Anfragen verstehen

Dieser Leitfaden beschreibt bestimmte Vorgänge, die im Hintergrund vom Dienst VOD / AOD von Infomaniak durchgeführt werden.

 

Funktionsweise der SOAP-Anfragen und der Callbacks

Im VOD-Dienst (Video on Demand) und AOD-Dienst (Audio on Demand) werden bestimmte Vorgänge wie das Herunterladen von Dateien über SOAP-Anfragen abgewickelt, ein Protokoll, das es zwei Systemen ermöglicht, miteinander zu kommunizieren, und oft zum Austausch von Daten zwischen Servern verwendet wird.

Wenn eine Datei über SOAP angefordert wird, kann es eine Verzögerung geben, bevor der Server antwortet. Diese Verzögerung hängt von mehreren Faktoren ab, wie der Dateigröße, der Serverauslastung oder der Verbindungsqualität. Der Download beginnt, sobald es möglich ist, aber es gibt eine Warteschlange: Wenn mehrere Benutzer gleichzeitig Anfragen stellen, wird jede Anfrage in der Reihenfolge bearbeitet, und jeder Benutzer hat eine Begrenzung für gleichzeitige Downloads.

Callback: Eine Benachrichtigung am Ende des Downloads

Ein callback ist ein System, das den Client (z. B. Ihre Anwendung) benachrichtigt, sobald der Download abgeschlossen ist. Mit anderen Worten, anstatt auf den Abschluss des Downloads zu warten, "ruft" das System Sie an oder sendet eine Antwort, wenn alles bereit ist. Dies ist nützlich, um zu verhindern, dass Ihre Anwendung blockiert wird, während die Datei heruntergeladen wird.

Es gibt jedoch auch eine maximale Wartezeit, die als timeout bezeichnet wird. Wenn diese Zeit vor Abschluss des Downloads erreicht wird, wird dennoch eine Antwort gesendet. Dies bedeutet nicht, dass der Download fehlgeschlagen ist, sondern dass die Antwort vor Abschluss des Downloads gesendet wurde. In diesem Fall wird die Verarbeitung im Hintergrund fortgesetzt.

Große Dateien benötigen mehr Zeit

Wenn die angeforderte Datei groß ist (z. B. mehrere hundert Megabyte oder sogar mehrere Gigabyte), kann der Download mehrere Minuten dauern. Diese Zeit hängt stark vom entfernten Server ab: Einige sind sehr schnell, andere weniger. Das System versucht, dies bestmöglich zu verwalten, aber man sollte bedenken, dass die Antwortzeit nicht immer sofort erfolgt.

Blockierende und nicht blockierende Aufrufe

Standardmäßig warten einige SOAP-Clients, bis der Server mit der Antwort fertig ist, bevor sie fortfahren. Man spricht dann von einem blockierenden Aufruf : Ihre Anwendung ist eingefroren, bis die Antwort eintrifft. Dies kann problematisch sein, wenn die Antwort Zeit in Anspruch nimmt.

Zum Glück ist es oft möglich, den SOAP-Client so zu konfigurieren, dass er nicht blockiert. Man spricht dann von einem nicht blockierenden Aufruf. Dies ermöglicht es, mehrere Anfragen nacheinander zu senden, ohne auf die Antwort jedes Aufrufs warten zu müssen. Dies ist schneller und effizienter, insbesondere wenn Sie mehrere Dateien nacheinander verarbeiten.


War diese FAQ nützlich?