Web Services Description Language

Web Services Description Language
WSDL.svg
Dateiname Erweiterung
.wsdl
Internet -Medientyp
Anwendung/WSDL+XML
Entwickelt von World Wide Web Konsortium
Enthalten von Xml
Standard 2.0 Empfehlung

Das Web Services Description Language (WSDL /ˈwɪz dəl/) ist ein Xml-basierend Schnittstellenbeschreibung Sprache Das wird zur Beschreibung der von a angebotenen Funktionen verwendet Internetservice. Das Akronym wird auch für eine bestimmte WSDL -Beschreibung eines Webdienstes verwendet (auch als als als bezeichnet WSDL -Datei), die eine maschinenlesbare Beschreibung des Aufrufens des Dienstes enthält, welche Parameter er erwartet und welche Datenstrukturen er zurückgibt. Daher ist sein Zweck ungefähr ähnlich wie der von a Geben Sie Signatur ein in einer Programmiersprache.

Die neueste Version von WSDL, die 2007 zu einer W3C -Empfehlung wurde, ist WSDL 2.0. Die Bedeutung des Akronyms hat sich gegenüber Version 1.1 geändert, in der das "D" für "Definition" stand.

Beschreibung

Darstellung von Konzepten, die durch WSDL 1.1- und WSDL 2.0 -Dokumente definiert sind.

Die WSDL beschreibt Dienste als Netzwerksammlungen Endpunkte, oder Häfen. Die WSDL -Spezifikation bietet eine Xml Format für Dokumente zu diesem Zweck. Die abstrakten Definitionen von Ports und Nachrichten werden von ihrer konkreten Verwendung oder Instanz getrennt, wodurch die Wiederverwendung dieser Definitionen ermöglicht wird. Ein Hafen wird definiert, indem a assoziieren a Netzwerkadresse mit einer wiederverwendbaren Bindung und einer Sammlung von Ports definiert einen Dienst. Nachrichten sind abstrakte Beschreibungen der ausgetauschten Daten, und Porttypen sind abstrakte Sammlungen unterstützter Vorgänge. Das konkrete Protokoll- und Datenformatspezifikationen für einen bestimmten Porttyp bildet eine wiederverwendbare Bindung, wobei die Operationen und Nachrichten dann an ein konkretes Netzwerkprotokoll und ein Nachrichtenformat gebunden werden. Auf diese Weise beschreibt WSDL die öffentliche Schnittstelle zum Webdienst.

WSDL wird häufig in Kombination mit SEIFE und ein XML -Schema So bieten Sie Webdienste über die Internet. Ein Client -Programm, das eine Verbindung zu einem Webdienst herstellt, kann die WSDL -Datei lesen, um festzustellen, welche Vorgänge auf dem Server verfügbar sind. Irgendwas Besonderes Datentypen Verwendete werden in die WSDL -Datei in Form eines XML -Schemas eingebettet. Der Client kann dann SOAP verwenden, um tatsächlich eine der in der WSDL -Datei aufgeführten Vorgänge aufzurufen, beispielsweise XML Http.

Die aktuelle Version der Spezifikation ist 2.0; Version 1.1 wurde nicht von der befürwortet W3c Aber Version 2.0 ist a W3C -Empfehlung.[1] WSDL 1.2 wurde aufgrund seiner wesentlichen Unterschiede zu WSDL 1.1 in WSDL 2.0 umbenannt. Durch Akzeptieren von Bindungen an alle HTTP -Anforderungsmethoden (Nicht nur wie in Version 1.1 erhalten und veröffentlichen), die WSDL 2.0 -Spezifikation bietet eine bessere Unterstützung für eine bessere Unterstützung für Erholsam Internetdiensteund ist viel einfacher zu implementieren.[2][3] Die Unterstützung für diese Spezifikation ist jedoch immer noch schlecht in Softwareentwicklungskits Für Webdienste, die häufig Tools nur für WSDL 1.1 anbieten.[Benötigt Update] Zum Beispiel die Version 2.0 der Geschäftsprozessausführungssprache (BPEL) Unterstützt nur WSDL 1.1.

WSDL 1.1 Term WSDL 2.0 Term Beschreibung
Service Service Enthält eine Reihe von Systemfunktionen, die den webbasierten Protokollen ausgesetzt waren.
Hafen Endpunkt Definiert die Adresse oder Verbindungspunkte zu einem Webdienst. Es wird normalerweise von einem einfachen HTTP dargestellt URL Saite.
Bindung Bindung Gibt die Schnittstelle an und definiert die SEIFE Bindungsstil (RPC/Dokument) und Transport (SEIFE Protokoll). Der Bindungsabschnitt definiert auch die Operationen.
Portype Schnittstelle Definiert einen Webdienst, die Operationen, die ausgeführt werden können, und die Nachrichten, mit denen der Betrieb ausgeführt wird.
Betrieb Betrieb Definiert die SOAP -Aktionen und die Art und Weise, wie die Nachricht beispielsweise "wörtlich" codiert wird. Eine Operation ist wie eine Methode oder einen Funktionsaufruf in einer herkömmlichen Programmiersprache.
Nachricht In der Regel entspricht eine Nachricht einer Operation. Die Nachricht enthält die Informationen, die zur Durchführung des Vorgangs erforderlich sind. Jede Nachricht besteht aus einem oder mehreren logischen Teilen. Jeder Teil ist einem Attribut zur Nachricht zugeordnet. Das Attribut "Nachrichtenname" bietet einen eindeutigen Namen unter allen Nachrichten. Das Teilname -Attribut bietet einen eindeutigen Namen unter allen Teilen der beigefügten Nachricht. Teile sind eine Beschreibung des logischen Inhalts einer Nachricht. Bei der RPC-Bindung kann eine Bindung auf den Namen eines Teils verweisen, um bindungsspezifische Informationen über den Teil anzugeben. Ein Teil kann einen Parameter in der Nachricht darstellen; Die Bindungen definieren die tatsächliche Bedeutung des Teils. Nachrichten wurden in WSDL 2.0 entfernt, in dem Xml Schema -Typen zum Definieren von Eingängen, Ausgängen und Fehlern werden einfach und direkt bezeichnet.
Typen Typen Beschreibt die Daten. Das XML -Schema Sprache (auch bekannt als als Xsd) wird zu diesem Zweck verwendet (inline oder referenziert).

Untergruppe WSDL

Untergruppe WSDL (SWSDL)[4] ist ein WSDL mit den Teilmengenoperationen eines ursprünglichen WSDL. Ein Entwickler kann SWSDL verwenden, um auf den Subset -Service zuzugreifen und somit die Teilmenge des Webdienstcodes zu verarbeiten. Eine Subset WSDL kann verwendet werden, um Web -Service -Tests durchzuführen und die Entwicklung von TOP -Down -Entwicklung zu erzielen. Das Schneiden eines Webdienstes kann mit einem Subset WSDL durchgeführt werden, um auf den Teilmenschdienst zuzugreifen. Der Untergruppenservice kann mit SWSDL in Ebenen kategorisiert werden. SWSDLs werden für die Webdienstanalyse, das Testen und die Top -Down -Entwicklung verwendet. AWSCM[5] ist das Pionierwerkzeug zum erfolgreichen Konstrukt von SWSDL.

Beispiel WSDL -Datei

  xmlns ="http://www.w3.org/ns/wsdl"   xmlns: tns ="http://www.tmsws.com/wsdl20Sample"   xmlns: whttp ="http://schemas.xmlsoap.org/wsdl/http/"  xmlns: WSOAP ="http://schemas.xmlsoap.org/wsdl/soap/"  targetNameSpace ="http://www.tmsws.com/wsdl20Sample">      Dies ist ein Beispiel -WSDL 2.0 -Dokument.      xmlns: xs ="http://www.w3.org/2001/xmlschema"  xmlns ="http://www.tmsws.com/wsdl20Sample"  targetNameSpace ="http://www.example.com/wsdl20Sample">                     Name ="Anfrage"> ...    Name ="Antwort"> ...         Name ="Schnittstelle1">   Name ="Fehler1" Element ="TNS: Antwort"/>   Name ="Erhalten" Muster ="http://www.w3.org/ns/wsdl/in-out">   Messagelabel ="Im" Element ="TNS: Anfrage"/>   Messagelabel ="Aus" Element ="TNS: Antwort"/>        Name ="Httpbinding" Schnittstelle ="TNS: Schnittstelle1"   Typ ="http://www.w3.org/ns/wsdl/http">   Ref ="TNS: GET" WHTTP: Methode ="ERHALTEN"/>          Name ="Soapbinding" Schnittstelle ="TNS: Schnittstelle1"   Typ ="http://www.w3.org/ns/wsdl/soap"   WSOAP: Protokoll ="http://www.w3.org/2003/05/soap/bindings/http/"  WSOAP: mepdefault ="http://www.w3.org/2003/05/soap/mep/request-response">   Ref ="TNS: GET" />      Name ="Service1" Schnittstelle ="TNS: Schnittstelle1">   Name ="Httpendpoint"   Bindung ="TNS: httpbinding"   Adresse ="http://www.example.com/rest/"/>   Name ="Soapendpoint"   Bindung ="TNS: SOAPBINDING"   Adresse ="http://www.example.com/soap/"/>    

Geschichte

WSDL 1.0 (September 2000) wurde von entwickelt von IBM, Microsoft, und Ariba Beschreibung von Webdiensten für ihr Seifen -Toolkit. Es wurde durch Kombination von zwei Dienstbeschreibungssprachen erstellt: NASSL (Network Application Service Specification Language) von IBM und SDL (Service Description Language) von Microsoft.

WSDL 1.1, veröffentlicht im März 2001, ist die Formalisierung von WSDL 1.0. Es wurden keine größeren Änderungen zwischen 1,0 und 1,1 eingeführt.

WSDL 1.2 (Juni 2003) war ein funktionierender Entwurf bei W3C, wurde jedoch zu WSDL 2.0. Laut W3C ist: WSDL 1.2 für Entwickler einfacher und flexibler als die vorherige Version. WSDL 1.2 versucht, nicht unterbesserbare Merkmale zu entfernen, und definiert auch die HTTP 1.1-Bindung besser. WSDL 1.2 wurde von den meisten Seifenservern/Anbietern nicht unterstützt.

WSDL 2.0 wurde im Juni 2007 zu einer W3C -Empfehlung. WSDL 1.2 wurde in WSDL 2.0 umbenannt, da es wesentliche Unterschiede zu WSDL 1.1 aufweist. Die Änderungen sind die folgenden:

  • Weitere Semantik zur Beschreibung der Sprache hinzugefügt
  • Meldungskonstrukte entfernt
  • Operatorüberlastung nicht unterstützt
  • Porttypes in Schnittstellen umbenannt
  • Ports in Endpunkte umbenannt

Sicherheitsüberlegungen

Da WSDL-Dateien eine XML-basierte Spezifikation zur Beschreibung eines Webdienstes sind, sind WSDL-Dateien anfällig für Angriffe.[6] Um die Anfälligkeit dieser Dateien zu mildern, den Zugriff auf generierte WSDL -Dateien einzuschränken, die ordnungsgemäßen Zugriffsbeschränkungen für WSDL -Definitionen festzulegen und unnötige Definitionen in Webdiensten zu vermeiden, wird gefördert.

Siehe auch

Verweise

  1. ^ "Web Services Definition Sprache (WSDL) Version 2.0 Teil 1: Kernsprache". Abgerufen 2007-06-27.
  2. ^ "Web Services Definition Language (WSDL) Version 2.0 Teil 2: Ergänzungen".
  3. ^ "Witw WSDL 2.0 HTTP -Bindung".
  4. ^ Chaturvedi, Animesh (2014). Subset WSDL, um den Subset -Service für die Analyse zuzugreifen. 2014 IEEE 6. Internationale Konferenz über Cloud Computing -Technologie und -wissenschaft. p. 688. doi:10.1109/cloudcom.2014.149. ISBN 978-1-4799-4093-6.
  5. ^ Chaturvedi, Animesh (2014). AWSCM - ein Tool für automatisierte Web -Service Change Management - ein Tool. 2014 IEEE 6. Internationale Konferenz über Cloud Computing -Technologie und -wissenschaft. p. 715. doi:10.1109/cloudcom.2014.144. ISBN 978-1-4799-4093-6.
  6. ^ "WSDL Offenlegung". Abgerufen 2017-05-31.

Externe Links