WSDL ist eine XML-Schreibweise für die Beschreibung eines Web-Service. Eine WSDL-Definition sagt einem Client, wie eine Web-Service-Anforderung aufgebaut sein muss, und beschreibt die vom Web-Service-Provider bereitgestellte Schnittstelle.
Das WSDL-Dokument definiert einen Service als eine Anzahl von Ports (WSDL 1.1) und Endpunkten (WSDL 1.2), die festlegen, wo der Service verfügbar ist.
Jeder benannte Port oder Endpunkt definiert außerdem einen Mechanismus für den Zugriff darauf: eine Bindung. Jedes unterstützte Protokoll verfügt über eine separate Bindung (z. B. SOAP über HTTP). Jede Bindung verweist auf einen benannten Porttyp (WSDL 1.1) und eine Schnittstelle (WSDL 1.2).
Eine Bindung definiert das physische Nachrichtenformat und die Transportdetails.
Ein Porttyp bzw. eine Schnittstelle ist die logische Schnittstelle zum Web-Service.
Sowohl Bindung als auch Porttyp oder Schnittstelle definieren Operationen.
Jede Operation enthält Eingabe- und Ausgabeelemente , die als Nachrichten oder Nachrichtenteile definiert sind.
Das optionale Attribut 'parameterOrder' ist nur für WSDL-Definitionen im RPC-Format verwendbar. Der Wert dieses Attributs ist eine sortierte Liste mit WSDL-Nachrichtenteilen, die einen Hinweis für einen Web-Service-Provider liefert, wie die Teile einer Methodenkennung zugeordnet werden.
Die Nachrichtenelemente (message) definieren eine logische Nachricht in Form eines oder mehrerer Teile (part-Elemente). Jeder Teil kann einem Parameter in einem Methodenaufruf entsprechen.
Ein Teil wird entweder als ein XML-Schemaelement oder als ein XML-Schematyp definiert.