Zur Beschreibung von Webservices benutzt WSDL abstrakte und konkrete Beschreibungen. Während sich die abstrakte Beschreibung auf den Funktionsumfang des Dienstes bezieht, werden mit der konkreten Beschreibung klare Fakten wie etwa das Übertragungsprotokoll übermittelt. Das Dokument (also die WSDL-Datei) ist hierarchisch aufgebaut. Informationen stellt man daher geschachtelt dar.
Aus XML übernimmt WSDL sechs Hauptelemente:
- types: Datentypen
- messages: Beschreibung der zu übertragenen Daten
- interface: abstrakte Operationen, die die Kommunikation zwischen Server und Client beschreiben (hieß in einer älteren Version des Standards noch portType)
- binding: Auskunft über das verwendete Transportprotokoll
- endpoint: Informationen über die Kommunikationsschnittstelle, gewöhnlich in Form einer URI (hieß in einer älteren Version des Standards noch port)
- service: Zugangspunkte des Webservice
Wenn man in der Datei alle Elemente ausfüllt, erhält der Client alle benötigten Informationen zur Nutzung des Webservice. Gerade deshalb ist ein Webservice plattformunabhängig, denn die unterschiedlichen Systeme erhalten die gemeinsame Sprache durch die WSDL-File.