Kennisbank
1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!
SOAP-callbacks en -verzoeken begrijpen
Deze handleiding beschrijft bepaalde processen die op de achtergrond worden uitgevoerd door de VOD/AOD-dienst van Infomaniak.
Werking van SOAP-verzoeken en callbacks
In de VOD-dienst (video on demand) en de AOD-dienst (audio on demand) worden bepaalde processen, zoals het downloaden van bestanden, afgehandeld via SOAP-verzoeken. Dit is een protocol dat twee systemen in staat stelt om met elkaar te communiceren en wordt vaak gebruikt voor het uitwisselen van gegevens tussen servers.
Wanneer een bestand via SOAP wordt aangevraagd, kan er een vertraging optreden voordat de server reageert. Deze vertraging is afhankelijk van verschillende factoren, zoals de bestandsgrootte, de serverbelasting of de kwaliteit van de verbinding. Het downloaden begint zodra dit mogelijk is, maar er is een wachtrij: als meerdere gebruikers tegelijkertijd verzoeken indienen, worden deze in volgorde verwerkt, en elke gebruiker heeft een limiet voor het aantal gelijktijdige downloads.
Callback: een melding aan het einde van de download
Een callback is een systeem dat de client (bijvoorbeeld uw applicatie) informeert zodra de download is voltooid. Met andere woorden, in plaats van te wachten tot de download is voltooid, "belt" het systeem u of stuurt het een antwoord zodra alles klaar is. Dit is handig om te voorkomen dat uw applicatie vastloopt tijdens het downloaden van het bestand.
Er is echter ook een maximale wachttijd, die wordt aangeduid als timeout. Als deze tijd verstrijkt voordat de download is voltooid, wordt er toch een antwoord verzonden. Dit betekent niet dat de download is mislukt, maar wel dat het antwoord is verzonden voordat de download is voltooid. In dit geval wordt de verwerking op de achtergrond voortgezet.
Grote bestanden hebben meer tijd nodig
Als het gevraagde bestand groot is (bijvoorbeeld enkele honderden megabytes of zelfs enkele gigabytes), kan het downloaden enkele minuten duren. Deze tijd is sterk afhankelijk van de externe server: sommige zijn erg snel, andere minder. Het systeem probeert dit zo goed mogelijk te beheren, maar u moet rekening houden met het feit dat de reactietijd niet altijd onmiddellijk is.
Blokkerende en niet-blokkerende aanroepen
Standaard wachten sommige SOAP-clients tot de server klaar is met het beantwoorden, voordat ze verdergaan. Dit wordt een blokkerende aanroep genoemd: uw applicatie wordt gepauzeerd totdat het antwoord binnenkomt. Dit kan problematisch zijn als het antwoord lang duurt.
Gelukkig is het vaak mogelijk om de SOAP-client zo te configureren dat deze niet blokkeert. Dit wordt een niet-blokkerende aanroep genoemd. Hierdoor kunt u meerdere verzoeken achter elkaar verzenden, zonder te hoeven wachten op het antwoord van elk verzoek. Dit is sneller en efficiënter, vooral als u meerdere bestanden achter elkaar moet verwerken.
Link naar deze veelgestelde vragen: https://faq.infomaniak.com/1626
Is deze veelgestelde vragenlijst nuttig geweest?