Trạng thái giao diện REST được điều khiển từ bất kỳ thứ gì khác ngoài trình duyệt tương tác không tốt lắm. HATEOAS là một nguyên tắc tốt, nhưng nó dẫn đến các giao diện hướng đến con người rất mạnh mẽ và nó có xu hướng dẫn đến gánh nặng của giao diện người dùng được đặt lên nhà phát triển dịch vụ (thường khá bận rộn khiến bản thân dịch vụ hoạt động).
Bản thân WADL không quá tuyệt vời; nó không thực sự nắm bắt đủ các ngữ nghĩa của dịch vụ để có thể cải thiện mọi thứ. Tất nhiên, đây là một vấn đề khó khăn nói chung. WSDL hiếm khi tiết lộ đủ thông tin và điều đó đã gây ra nhiều nỗ lực hơn cho vấn đề (có thể đính kèm đủ thông tin, nhưng hầu như không ai thực sự làm như vậy).
Tuy nhiên, người ta nói rằng một đồng nghiệp của tôi đã dành nhiều tháng làm việc trên thư viện sử dụng giao diện REST cho một dịch vụ và giao diện được mô tả WSDL cho cùng một dịch vụ [*] được tự động chuyển sang chất lượng gần như tương đương trong vài giây; phần còn lại của con đường là khoảng một ngày viết các lớp gói. Linh cảm của tôi (dựa trên kích thước mẫu hạn chế) là bạn không thể thoát khỏi sự giòn giã trong một dịch vụ phức tạp vì ngữ nghĩa của dịch vụ chắc chắn sẽ phát triển theo thời gian và REST tốt hơn trong việc điều khiển giao diện cho con người trong khi SOAP tốt hơn cho thư viện giao diện (có công cụ máy khách WSDL / SOAP tốt cho hầu hết tất cả các ngôn ngữ lưu ý). Trừ khi bạn có được sự sang trọng khi làm cả hai, việc tập trung vào cái nào sẽ phụ thuộc vào nhóm khách hàng nào bạn quan tâm nhất.
Tôi sẽ không nỗ lực nhiều vào WADL, nhưng nếu khung REST của bạn sẽ tạo ra nó cho bạn (Apache CXF làm điều này) thì không có lý do cụ thể nào để không cung cấp nó. Bất cứ ai muốn loại bỏ mã của bạn sẽ muốn WSDL + SOAP.
[*] Là tác giả của dịch vụ được đề cập, tôi có thể chắc chắn rằng cả hai giao diện đều hỗ trợ các hoạt động giống nhau - có một mô hình trừu tượng cơ bản phổ biến - và theo kiểu tự nhiên, đối với cả hai loại giao diện. Về mặt dịch vụ, chắc chắn có một số điều dễ dàng hơn với REST và những thứ khác với SOAP.