2012-10-19 43 views
20

Tôi đã tạo một dịch vụ web RESTful trong C# và đã triển khai nó cho IIS. Khi tôi truy cập dịch vụ HeadOffice.svc, tôi có tùy chọn để xem WSDL (HeadOffice.svc? Wsdl). Những gì tôi muốn làm là có tùy chọn xem WADL (ví dụ: HeadOffice.svc? Wadl). Điều này có thể không?Dịch vụ web RESTful tự động tạo WADL

Tôi đã đọc xung quanh nơi mà ý kiến ​​chung là đây không phải là phương pháp hay nhất. Tuy nhiên, tôi cần WADL cho một bài tập ở trường, vì vậy bất kỳ sự trợ giúp nào cũng sẽ được đánh giá cao.

Trả lời

17

Giả sử bạn đã biết rằng WADL không phải là chuẩn/không được hỗ trợ rộng rãi. Và khi ai đó cần WADL, có thể tốt hơn khi sử dụng dịch vụ WS */SOAP + WSDL. Vì vậy, nhiệm vụ của bạn trông rất lạ.

Dù sao WADL không được hỗ trợ "ngoài hộp" trong bất kỳ triển khai REST nào từ Microsoft, không phải WCF 3.5 Rest Starter Kit, không phải WCF 4 REST và ASP.NET WebAPI.

Không có công cụ đáng tin cậy nào cho WADL cho .NET.

Khi mục tiêu của bạn là tạo mã khách hàng C# bằng WADL, hãy tin tôi, bạn sẽ dành nhiều thời gian hơn để tự viết mã máy khách. Và có những giải pháp tốt hơn cho điều đó.

Bạn có thể sử dụng các lớp học mới như HttpClient lớp hoặc RestSharp hoặc các thư viện tương tự để dễ dàng bằng tay viết khách hàng của bạn và nó sẽ còn nhanh hơn sau đó googling cho giải pháp đáng tin cậy cho WADL NET

câu hỏi tương tự trên stackoverflow: Restful service in .NET with WADL instead of WSDL

CẬP NHẬT - Hoán đổi: Trong một số năm, swagger đã tự thiết lập định dạng như vậy. Bạn có thể bắt đầu viết định nghĩa dịch vụ bằng cách sử dụng YAML của swagger trong số Swagger editor hoặc để tạo ra sự chuyển đổi từ các dịch vụ hiện có, cho .NET bằng cách sử dụng thư viện Swashbuckle. Thứ hai là một cái gì đó chúng tôi đã có với WSDL, và biên tập viên vênh vang cho phép bạn tạo ra nồi hơi máy khách và máy chủ. Bất kể bạn đang tạo ra máy chủ hoặc máy khách của bạn hay không phải là fan của nó, thì việc chuyển đổi thực sự là một định dạng trao đổi hợp đồng rất tốt cho dịch vụ REST, không phải là lựa chọn lý tưởng nhưng tốt.

+0

Cảm ơn thông tin! Tôi định tạo mã Java thành WADL. Tuy nhiên, có vẻ như tôi sẽ không để lộ một con đường khác với con đường của WADL. –

+0

Liên kết đầu tiên đó hoàn toàn vô dụng, có vẻ như bạn đã liên kết với một dự án thậm chí không có bất kỳ mã nguồn nào. Vấn đề ở đây là gì? –

+0

Dmitri Nesteruk Point là WADL giống như liên kết đó đã chết cho .NET và đã lỗi thời. Và tốt hơn là viết thủ công truy cập dịch vụ hoặc sau đó thử tạo trong kiểu WAPL SOAP – Regfor

Các vấn đề liên quan