Der Status von REST-Schnittstellen, die nicht über einen interaktiven Browser gesteuert werden, ist nicht sehr gut. HATEOAS ist ein nettes Prinzip, aber es führt zu Benutzeroberflächen, die sehr stark personenorientiert sind, und es führt dazu, dass die Benutzeroberfläche dem Serviceentwickler auferlegt wird (der normalerweise ziemlich beschäftigt ist, den Service selbst zum Laufen zu bringen).
WADL selbst ist nicht zu groß; Es wird nicht genug von der Semantik des Dienstes erfasst, um es zu ermöglichen, die Dinge zu verbessern. Natürlich ist dies im Allgemeinen ein schwieriges Problem. WSDL stellt selten genug Informationen zur Verfügung, und das ist mit viel mehr Aufwand verbunden (es ist möglich, genügend Informationen beizufügen, aber kaum jemand tut dies tatsächlich).
Es ist jedoch bezeichnend, dass ein Kollege von mir monatelang an einer Bibliothek gearbeitet hat, die eine REST-Schnittstelle für einen Service verwendet, und die von WSDL beschriebene Schnittstelle für denselben Service [*] wurde in Sekundenschnelle automatisch auf nahezu dieselbe Qualität umgerüstet. Der Rest des Weges war ungefähr ein Tag, an dem Wrapping-Kurse geschrieben wurden. Meine Vermutung (basierend auf einer begrenzten Stichprobengröße) ist, dass Sie in einem komplexen Dienst nicht alle Sprödigkeit beseitigen können, da sich die Semantik des Dienstes im Laufe der Zeit zwangsläufig weiterentwickelt und REST beim Fahren von Schnittstellen für Menschen besser ist, während SOAP für besser ist Schnittstellenbibliotheken (es gibt gute WSDL / SOAP-Client-Tools für fast alle wichtigen Sprachen). Wenn Sie nicht den Luxus haben, beides zu tun, hängt es von der Gruppe der Kunden ab, die Sie am meisten interessieren.
Ich würde WADL nicht viel Mühe geben, aber wenn Ihr REST-Framework es für Sie produzieren wird (Apache CXF tut dies), gibt es keinen besonderen Grund, es nicht bereitzustellen. Jeder, der Ihren Code ausbessern möchte, möchte WSDL + SOAP.
[*] Als Autor des fraglichen Dienstes kann ich mit Sicherheit sagen, dass beide Schnittstellen dieselben Operationen unterstützten - es gab ein gemeinsames zugrunde liegendes abstraktes Modell - und für beide Schnittstellentypen einen „natürlichen“ Stil. Auf der Serviceseite war es definitiv so, dass einige Dinge mit REST und andere mit SOAP einfacher waren.