Stan interfejsów REST jako sterowanych z czegokolwiek innego niż przeglądarka interaktywna nie jest zbyt dobry. HATEOAS jest niezłą zasadą, ale prowadzi do interfejsów, które są bardzo silnie zorientowane na ludzi i zwykle powoduje obciążenie interfejsu użytkownika programistą usług (który zwykle jest dość zajęty, aby sama usługa działała).
Sam WADL nie jest zbyt wielki; tak naprawdę nie wychwytuje wystarczająco semantyki usługi, aby można było wszystko ulepszyć. Oczywiście jest to ogólnie trudny problem. WSDL również rzadko ujawnia wystarczającą ilość informacji, co stanowiło o wiele więcej wysiłku w tym problemie (możliwe jest dołączenie wystarczającej ilości informacji, ale prawie nikt tego nie robi).
Jednak mówi, że mój kolega spędził miesiące pracując nad biblioteką, która używa interfejsu REST do usługi, a opisany interfejs WSDL do tej samej usługi [*] został w kilka sekund automatycznie opracowany do prawie tej samej jakości; resztę drogi stanowiło dzień pisania lekcji owijania. Moje przeczucie (oparte na ograniczonej wielkości próby) polega na tym, że nie można pozbyć się całej kruchości w złożonej usłudze, ponieważ semantyka usługi nieuchronnie ewoluuje w czasie, i że REST lepiej obsługuje interfejsy dla ludzi, podczas gdy SOAP jest lepszy dla biblioteki interfejsów (istnieje dobre narzędzie klienta WSDL / SOAP dla prawie wszystkich ważnych języków). Chyba że masz luksus robienia obu rzeczy, na którym należy się skupić, powinno zależeć od tego, na którym kliencie zależy ci najbardziej.
Nie włożyłbym wiele wysiłku w WADL, ale jeśli twoja platforma REST wytworzy go dla ciebie (robi to Apache CXF), to nie ma konkretnego powodu, aby go nie udostępniać. Każdy, kto chce usunąć kod, będzie chciał WSDL + SOAP.
[*] Jako autor omawianej usługi mogę z całą pewnością stwierdzić, że oba interfejsy obsługiwały te same operacje - istniał wspólny podstawowy model abstrakcyjny - i „naturalny” styl dla obu typów interfejsów. Po stronie usługi zdecydowanie było tak, że niektóre rzeczy były łatwiejsze z REST, a inne z SOAP.