Was ist WSDL ? Wie hängt es mit SOAP zusammen ? Wo passt REST in all das?
web-services
rest
soap
wsdl
javaguy
quelle
quelle
Antworten:
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 und verwendet XML als Messaging-Format, um die Informationen weiterzuleiten.
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.
quelle
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
Dies erklärt wirklich nicht, was es ist ...The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".
Beispiel: In einfachen Worten, wenn Sie einen Webdienst von Rechner 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 und so weiter.
SOAP: Wenn Sie SOAP verwenden, führen Sie tatsächlich Aktionen wie doDelete (), doSubtract (), doAdd () aus. SOAP und WSDL sind also Äpfel und Orangen. Wir sollten sie nicht vergleichen. Sie haben beide ihre eigenen unterschiedlichen Funktionen.
Warum wir SOAP und WSDL verwenden: Für den plattformunabhängigen Datenaustausch.
EDIT: In einem normalen Alltag Beispiel:
WSDL: Wenn wir in ein Restaurant gehen, sehen wir die Menüpunkte, das sind die WSDLs.
Proxy-Klassen: Nachdem wir uns die Menüelemente angesehen haben, entscheiden wir uns (was wir bestellen sollen): Im Grunde genommen erstellen wir Proxy-Klassen basierend auf dem WSDL-Dokument.
SOAP: Wenn wir dann das Essen tatsächlich anhand der Menüs bestellen: Das heißt, wir verwenden Proxy-Klassen, um die Servicemethoden aufzurufen, die mit SOAP durchgeführt werden. :) :)
quelle
Jedes Mal, wenn jemand SOAP / WSDL erwähnt, denke ich an Objekte und Klassen, die in XML definiert sind ...
..und wenn jemand über REST spricht, denke ich an HTTP-Befehle (Anforderungsmethoden) wie POST, GET und DELETE
quelle
SOAP -> SOAP (Simple Object Access Protocal) ist das Protocal auf Anwendungsebene, das für die Interaktion von Maschine zu Maschine erstellt wurde. Das 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 verstanden (jede Anwendung, die SOAP - Axis2, .Net unterstützt).
WSDL -> SOAP-Nachricht besteht aus SoapEnevelope-> SoapHeader und SoapBody. Es definiert nicht, was Nachrichtenformat wäre? Welche Transporte (HTTP, JMS) werden unterstützt? Ohne diese Informationen ist es für jeden Client, der den jeweiligen Webdienst nutzen möchte, schwierig, die SOAP-Nachricht zu erstellen. Selbst wenn sie es tun, werden sie nicht sicher sein, 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 SOAP-Nachricht.
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 mithilfe der URL (Beispiel -http: // {serverAddress} / employee / employeeNumber / 12345) und hängt vom Transportprotokoll (mit HTTP - GET, POST, PUT, DELETE, ...) für die Aktionen ab an den Ressourcen durchgeführt werden. Der REST-Service sucht die Ressource basierend auf der URL und führt die Aktion basierend auf dem Transportaktionsverb aus. Es basiert eher auf architektonischem Stil und Konventionen.
quelle
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 auch andere Protokolle verwenden.
Eine WSDL kann von einem Programm gelesen werden und kann daher verwendet werden, um den gesamten oder einen Teil des Clientcodes zu generieren, der zum Aufrufen des Webdienstes erforderlich ist. Dies bedeutet, SOAP-basierte Webdienste als "selbstbeschreibend" zu bezeichnen.
REST ist überhaupt nicht mit WSDL verbunden.
quelle
SOAP steht für Simple (sic) Object Access Protocol. Es sollte eine Möglichkeit sein, Remoteprozeduraufrufe an Remoteobjekte durchzufü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, die die Anforderung und Antwort beschreibt, die eine Verwendung erwarten kann. Es beschreibt den Vertrag zwischen Service & Kunde.
REST verwendet HTTP, um Nachrichten an Dienste zu senden.
SOAP ist eine Spezifikation, REST ist ein Stil.
quelle
Wikipedia sagt: "Die Web Services Description Language ist eine XML-basierte Sprache, die ein Modell zur Beschreibung von Web Services bietet." Anders ausgedrückt, WSDL ist ein Webdienst, wie Javadoc eine Java-Bibliothek.
Das wirklich Süße an WSDL ist jedoch, dass Software mithilfe von WSDL einen Client und einen Server generieren kann.
quelle
REST ist in Bezug auf die Codierung leichtgewichtig und für leichte Geräte, dh nicht strenge APIs, viel nützlicher.
REST ist formatunabhängig. XML, HTML, JSON Alle Optionen sind verfügbar.
REST bietet Funktionen für die 2-Punkt-Nachrichtenübertragung (nicht überraschend, da REST für REpresentational State Transfer steht), bei der die WSDL / SOAP-Interaktion eine Mehrpunkt-Nachrichteninteraktion ist.
Für REST ist keine neue Erweiterung für XML-Nachrichten erforderlich. In WSDL / SOAP ist dies der Fall.
WSDL / SOAP verwendet mehrere Transportprotokolle, REST basiert nur auf HTTP. Daher kann WSDL / SOAP wie ein REST-fähiger Weg verwendet werden, jedoch können einfache Anforderungen übermäßig kompliziert / schwergewichtig sein.
Eine einfache Analogie: REST ist wie ein Motoboy, der Ihr Essen einfach und schnell liefert. XML erweitert WSDL / SOAP eher wie UPS-Zustellung, strukturierter und seriöser, ist jedoch mit Kosten verbunden.
quelle
Einige klare Erklärungen (für SOAP und WSDL) finden Sie auch hier.
Unterschied zwischen einer SOAP-Nachricht und einer WSDL?
quelle
Ein WSDL-Dokument beschreibt einen Webservice. Es gibt den Speicherort des Dienstes und die Methoden des Dienstes unter Verwendung dieser Hauptelemente an: Datentypen, die in Webservice-Datenelementen für jede Operation verwendet werden, beschreiben die Operationen, die ausgeführt werden können, und die beteiligten Nachrichten
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.
quelle