it-swarm.com.de

Was sind WSDL, SOAP und Ruhe?

Was ist WSDL ? In welcher Beziehung steht es zu SOAP ? Wo passt REST in all das?

121
javaguy

Eine WSDL ist ein XML-Dokument, das einen Webdienst beschreibt. Es steht eigentlich für Web Services Description Language.

SOAP ist ein XML-basiertes Protokoll, mit dem Sie Informationen über ein bestimmtes Protokoll (z. B. HTTP oder SMTP) zwischen Anwendungen austauschen können. Es steht für Simple Object Access Protocol (Simple Object Access Protocol) und verwendet XML für sein Nachrichtenformat zum Weiterleiten der Informationen.

REST ist ein Architekturstil vernetzter Systeme und steht für Representational State Transfer. Es ist kein Standard selbst, verwendet jedoch Standards wie HTTP, URL, XML usw. 

144
keith_c

Beispiel: Einfach ausgedrückt, wenn Sie einen Webservice für Taschenrechner haben. 

WSDL: WSDL informiert über die Funktionen, die Sie implementieren oder für den Client verfügbar machen können. Zum Beispiel: hinzufügen, löschen, subtrahieren usw. 

SOAP: Bei Verwendung von SOAP führen Sie tatsächlich Aktionen wie doDelete (), doSubtract (), doAdd () aus. Also SOAP und WSDL sind Äpfel und Orangen. Wir sollten sie nicht vergleichen. Sie haben beide ihre eigene Funktionalität. 

Warum verwenden wir SOAP und WSDL: Für plattformunabhängigen Datenaustausch.

BEARBEITEN: In einem normalen Alltagsbeispiel:

WSDL: Wenn wir in ein Restaurant gehen, sehen wir die Menüpunkte, das sind die WSDLs.

Proxy-Klassen: Nachdem wir nun die Menüpunkte gesehen haben, entscheiden wir uns, was wir bestellen sollen. Grundsätzlich erstellen wir Proxy-Klassen auf Basis des WSDL-Dokuments. 

SOAP: Dann, wenn wir das Essen tatsächlich basierend auf den Menüs bestellen: Das heißt, wir verwenden Proxy-Klassen, um die Servicemethoden aufzurufen, die mit SOAP ausgeführt werden. :)

61
Unbreakable

Jedes Mal, wenn jemand SOAP/WSDL erwähnt, denke ich an in xml definierte Objekte und Klassen ...

"Sie verwenden SOAP genauso wie jede PHP - Klasse. In diesem Fall ist die Klasse jedoch nicht im lokalen Anwendungsdateisystem vorhanden, sondern an einem Remote-Standort, auf den über http zugegriffen wird . " ... "Wenn wir daran denken, einen SOAP - Dienst als nur eine andere PHP -Klasse zu verwenden, ist das WSDL-Dokument eine Liste aller verfügbaren Klassenmethoden und -eigenschaften."

http://www.doublehops.com/2009/07/07/quick-tutorial-on-getting-started-mit-soap-in-php/comment-page-1/

..und immer wenn jemand über REST spricht, denke ich an die HTTP-Befehle (Anforderungsmethoden) wie POST, GET und DELETE

32
angelcool.net

Sie werden etwas Komplexes nicht "einfach" verstehen.

WSDL ist eine XML-basierte Sprache zur Beschreibung eines Webdienstes. Es beschreibt die vom Dienst verwendeten Nachrichten, Vorgänge und Netzwerktransportinformationen. Diese Webdienste verwenden normalerweise SOAP, können jedoch andere Protokolle verwenden.

Eine WSDL kann von einem Programm gelesen werden und kann so verwendet werden, um den gesamten oder einen Teil des Clientcodes zu generieren, der zum Aufrufen des Webdiensts erforderlich ist. SOAP-basierte Web-Services werden als "selbstbeschreibend" bezeichnet.

REST ist überhaupt nicht mit WSDL verbunden.

11
John Saunders

SOAP -> SOAP (Simple Object Access Protocal) ist das Protocal auf Anwendungsebene, das für die Interaktion von Maschine zu Maschine erstellt wurde. Protokoll definiert Standardregeln. Alle Parteien, die das jeweilige Protokoll verwenden, sollten die Protokollregeln einhalten. Wie TCP wird es auf der Transportschicht abgewickelt. Das SOAP - Protokoll wird von der Anwendungsschicht (jede Anwendung, die SOAP - Axis2, .Net unterstützt) verstanden. 

WSDL -> SOAP - Nachricht besteht aus SoapEnevelope-> SoapHeader und SoapBody. Es definiert nicht, was das Nachrichtenformat wäre. Welche Transporte (HTTP, JMS) werden unterstützt? Ohne diese Informationen ist es für jeden Client schwierig, den bestimmten Webdienst zur Erstellung der SOAP - Nachricht zu nutzen. Selbst wenn sie es tun, sind sie sich nicht sicher, es wird die ganze Zeit funktionieren. WSDL ist die Rettung. WSDL (Web Service Description Language) definiert die Vorgänge, Nachrichtenformate und Transportdetails für die Nachricht SOAP. 

REST -> REST (Representational State Transfer) basiert auf dem Transport. Im Gegensatz zu SOAP, das auf die Aktionen abzielt, betrifft REST mehr die Ressourcen. REST sucht die Ressourcen anhand der URL (Beispiel -http: // {serverAddress}/employee/employeeNumber/12345) und hängt vom Transportprotokoll ab (mit HTTP - GET, POST, PUT, DELETE, ... ) für die auf den Ressourcen auszuführenden Aktionen. Der Dienst REST sucht die Ressource anhand der URL und führt die Aktion basierend auf dem Transportaktionsverb aus. Es ist eher ein architektonischer Stil und Konventionen. 

11

SOAP steht für Simple Object Access Protocol (sic). Es war eine Möglichkeit, Remoteprozeduraufrufe für Remoteobjekte auszuführen, indem XML über HTTP gesendet wird. 

WSDL ist die Web Service Description Language. Eine Anforderung, die mit '.wsdl' an einen Endpunkt endet, führt zu einer XML-Nachricht, in der die Anforderungen und Antworten beschrieben werden, die eine Verwendung erwarten kann. Es beschreibt den Vertrag zwischen Service & Client.

REST verwendet HTTP, um Nachrichten an Dienste zu senden. 

SOAP ist eine Spezifikation, REST ist ein Stil.

10
duffymo

Wikipedia sagt: "Die Web Services Description Language ist eine XML-basierte Sprache, die ein Modell zur Beschreibung von Web Services bereitstellt." Anders ausgedrückt: WSDL bezieht sich auf einen Webservice, wie bei Javadoc auf eine Java-Bibliothek. 

Das Wirkliche an WSDL ist jedoch, dass Software mithilfe von WSDL einen Client und einen Server generieren kann.

5
Michael Burrows

Einige klare Erklärungen (für SOAP und WSDL) finden Sie auch hier.

Unterschied zwischen einer SOAP - Nachricht und einer WSDL?

3
namski

REST ist im Hinblick auf die Codierung leichtgewichtig und viel nützlicher für leichtgewichtige Geräte, d. H. Nicht strikte APIs.

REST ist formatunabhängig. XML, HTML, JSON, alle Optionen sind verfügbar.

REST bietet Fähigkeiten für die Übertragung von Nachrichten an zwei Punkten (nicht überraschend, da REST für REpresentational State Transfer steht), wobei die WSDL/SOAP-Interaktion eine Interaktion mit mehreren Punkten ist.

REST erfordert keine neue Erweiterung für XML-Nachrichten. Dies ist in WSDL/SOAP der Fall.

WSDL/SOAP verwendet mehrere Transportprotokolle, REST hängt nur von HTTP ab. Daher kann WSDL/SOAP wie eine RESTful-Methode verwendet werden. Einfache Anforderungen können jedoch zu kompliziert/schwer sein.

Eine einfache Analogie: REST ist wie ein Motoboy, der Ihr Essen einfach und schnell liefert. XML erweiterte WSDL/SOAP ähnelt eher der UPS-Zustellung, strukturierter und seriöser Art, ist jedoch mit Kosten verbunden.

2
Bedi Egilmez

Ein WSDL-Dokument beschreibt einen Webservice. Es gibt den Ort des Dienstes und die Methoden des Dienstes unter Verwendung dieser Hauptelemente an: Datentypen mit in Webservice Datenelemente für jede Operation Beschreiben Sie die Operationen, die ausgeführt werden können, und die Nachrichten, die in die Liste aufgenommen werden

SOAP (Simple Object Access Protocol) ist ein Messaging-Protokoll, mit dem Programme, die auf unterschiedlichen Betriebssystemen ausgeführt werden, über http und xml kommunizieren können.

0
Farzaneh