Übersicht über die Phasen eines XML-Webdienstes
Der Prozess, der beim Auslösen eines XML-Webdienstaufrufs abläuft, ist dem beim Auslösen eines regulären Methodenaufrufs ähnlich. Der Hauptunterschied besteht darin, dass Sie eine Anforderungsmeldung über das angegebene Transportprotokoll (z. B. HTTP) generieren, statt eine Methode aufzurufen, die sich innerhalb der Clientanwendung befindet. Da sich die XML-Webdienstmethode auf einem anderen Computer befinden kann, müssen die vom XML-Webdienst zur Verarbeitung der Anforderung benötigten Informationen über das Netzwerk an den Server übergeben werden, der den XML-Webdienst enthält. Der XML-Webdienst verarbeitet die Informationen und sendet das Ergebnis über das Netzwerk zurück an die Clientanwendung.
Die folgende Abbildung veranschaulicht den Kommunikationsprozess zwischen einem Client und einem XML-Webdienst.
Lebensdauer eines XML-Webdienstes
Im Folgenden wird die Abfolge der Ereignisse beschrieben, die beim Aufrufen eines XML-Webdienstes auftreten:
- Der Client erstellt eine neue Instanz einer XML-Webdienstproxyklasse. Dieses Objekt befindet sich auf demselben Computer wie der Client.
- Der Client ruft in der Proxyklasse eine Methode auf.
- Die Infrastruktur des Clientcomputers serialisiert die Argumente der XML-Webdienstmethode in eine SOAP-Meldung und sendet diese über das Netzwerk an den XML-Webdienst.
- Die Infrastruktur empfängt die SOAP-Meldung und deserialisiert den XML-Code. Sie erstellt eine Instanz der Klasse, die den XML-Webdienst implementiert, und ruft eine XML-Webdienstmethode auf, indem sie den deserialisierten XML-Code als Argument übergibt.
- Der Code der XML-Webdienstmethode wird ausgeführt, und abschließend werden der Rückgabewert und alle Ausgabeparameter festgelegt.
- Die Infrastruktur des Webservers serialisiert den Rückgabewert und die Ausgabeparameter in SOAP-Meldungen und sendet sie über das Netzwerk zurück zum Client.
- Die XML-Webdienstinfrastruktur des Clientcomputers empfängt die SOAP-Meldung, deserialisiert den XML-Code in den Rückgabewert und alle Ausgabeparameter und übergibt sie an die Instanz der Proxyklasse.
- Der Client empfängt den Rückgabewert und eventuelle Ausgabeparameter.