WSDL (Web Services Description Language) adalah fromat XML yang diterbitkan untuk menerangkan web service. WSDL mendefinisikan:
- pesan-pesan (baik yang abstrak dan kongkrit) yang dikirim ke dan menuju web service
- koleksi-koleksi digital dari pesan-pesan (port type, antarmuka)
- bagaimana port type yang ditentukan dijadikan wire protokol
- di mana servis ditempatkan
WSDL menyediakan sebuah kamus XML untuk menjabarkan detail-detail ini. WSDL digunakan di mana skema XML tidak digunakan lagi dengan menyediakan jalur pesan-pesan grup menjadi operasi-operasi dan operasi-operasi menjadi antarmuka. Ini juga menyediakan jalur untuk medefinisikan binding-binding untuk setiap antamuka dan kombinasi protokol sepanjang alamat titik akhir utnuk setiap kalinya. Definisi WSDL yang lengkap terdiri dari seluruh informasi yang dibutuhkan untuk meminta web service. Pengembang yang mau mempermudah yang lain untuk mengakses service-servicenya harus menyediakan defisi-definisi WSDL.
WSDL memainkan peranan penting pada seluruh arsitektur web service semenjak menjabarkan kontrak lengkap pada komunikasi aplikasi (sama seperti peran IDL pada arsitektur DCOM). Walaupun teknik-teknik lain untuk menjabarkan Web service ada, WS-I Basic Profile Versi 1.0 memadati penggunaan WSDL dan skema XML untuk menjabarkan web service. Ini membantu untuk memastikan interoperbilitas pada layer deskripsi servis.
Kelas-kelas digenerasi dari definisi WSDL sama harus mampu berkomunikasi dengan yang lain sepanjang antarmuka WSDL yang tersedia, tanpa memperhatikan bahasa pemrograman yang digunakan WSDL 1.1 mempertimbangkan standar de facto saat ini karena dukungan industri yang luas. Kebanyakan toolkit-toolkit web service mendukung WSDL 1.1, tapi ada sedikit masalah interoperabilitas pada implementasi berbeda. Kebanyakan pembangun-pembangun percaya bahwa fleksibilitas yang luas dari WSDL (dan kompleksitas hasil) adalah sumber fundamental dari masalah ini. WS-I telah membantu memecahkan beberapa dari masalah ini dengan memkasakan pengembang-pengembang untuk menggunakan bagian-bagian tepat dari spesifikasi dan tidak menganjurkan mereka untuk menggunakan yang lainnya.
W3C secara aktif bekerja pada versi WSDL “terdaftar” terakhir, WSDL 1.2, tapi saat ini hanya working draft dan tidak didukung oleh toolkit-toolkit mainstream, jika ada.