Difference between WSDL and WADL
WADL is the REST equivalent of SOAP's Web Services Description Language (WSDL), which can also be used to describe REST web services.
|Point of Distinction||WSDL||WADL|
|Acronym For||Web Services Description Language||Web Application Description Language|
|Definition||WSDL is an XML language for describing web services. Used to describe SOAP-based web services.||WADL is an XML file-format . It is an XML vocabulary for expressing the behavior of HTTP resources. It is an XML to describe RESTful web services.|
|How client load file||A client can load a WSDL file and get to know what methods web service can call, what are the arguments the methods expect and which data type it returns.||A client can load a WADL file and can access the complete functionality of the web service.|
|Easier to Read, Write & Understand||Not easy compare to WADL. WSDL is difficult to write and understand.||Easier than WSDL. WADL is lightweight.|
|XML to describes||XML to describe SOAP based Web Services||XML to describe RESTful Web services. WADL is a REST equivalent of SOAP's web service description language.|
|Relation with REST||WSDL 2.0 can be used to describe REST Web services and thus competes with WADL. But it has a wider scope.||WADL is REST equivalent of SOAP’s web service description language.|
|Binding to SMTP server||It has more binding to SMTP server||No binding to SMTP Server|
|Flexible||WSDL more flexible than WADL.||WADL covers all user expectation except Authentication, which is as simple as REST.|
|Design||Complex by Design||Simple By Design|
|Authentication||Authentication is involved for web services||No Authentication involved for web services|
|Standard||Only XML Parameter||Not a standard|
|URI template mechanism||The user needs to define xml input message to use the URI template mechanism||It requires a simple URI template mechanism.|
|Scope||More scope compared to WADL||Limited scope compared to WSDL|
|W3C Recommendation||W3C recommends WSDL interface||W3C does not recommend WADL interface|
|HTTP protocols||WSDL 1.1 only supports GET and POST methods whereas WSDL 2.0 supports HTTP protocol also.||WADL strictly support REST Service, only HTTP protocol.|
|Major Elements||<type>, <message>, <porttype>, <binding>||<grammers>, <resources>, <methods>, <representation>|
|What it defines||WSDL defines all major elements which may be defined 0 or more times except <types>. All definitions need not be in the same XML, one XML can import others.
Hence comes the concept of Abstract and Concrete portions, where concrete imports abstract.
|WADL defines both resources and representation, and methods to manipulate resources.|