2010-09-21 26 views
7

Tôi đã sử dụng WCF để tạo một dịch vụ web an toàn trong .NET, bằng một tệp .svc. Ứng dụng web sẽ tự động tạo một tệp WSDL. AFAIK, WADL tự nhiên hơn cho một dịch vụ web an toàn.Dịch vụ an toàn trong .NET với WADL thay vì WSDL

Làm cách nào để tạo một dịch vụ an toàn trong .NET (tốt nhất là với wcf) tạo mô tả WADL?

Lưu ý Câu trả lời như "RTFM" được chấp nhận, miễn là bạn cho biết hướng dẫn/hướng dẫn phù hợp.

Trả lời

0

Tha thứ cho tôi khi trả lời câu hỏi bằng câu hỏi, nhưng bạn có thực sự muốn làm REST không? REST thực sự không cần những thứ như WADL.


Cập nhật:

Các "hypermedia hạn chế" (aka HATEOAS) dictates rằng tác nhân người dùng phát hiện ra nội dung dựa trên các liên kết nhúng trong nội dung tải về trước đó. Nó thực sự là không cần thiết để có một tài liệu riêng biệt mô tả tất cả các nội dung có sẵn.

Hãy tưởng tượng sử dụng trình duyệt web để truy cập một trang web và thay vì truy cập trang chủ và điều hướng từ đó, bạn sẽ thấy một trang là danh sách tất cả các URL trên trang web. Sau đó, bạn phải xem qua danh sách các url có sẵn, chọn một url bạn quan tâm và sao chép nó vào thanh địa chỉ.
WADL thực sự là danh sách các url trang web của bạn. Bạn không cần nó nếu nội dung chính của bạn được liên kết với nhau.

Liên kết nội dung thay vì sử dụng WADL "sơ đồ trang web" có các lợi thế khác. Các liên kết có sẵn có thể động dựa trên các giá trị dữ liệu cụ thể trong nội dung. Khả năng này có thể làm giảm sự phức tạp của khách hàng, bởi vì khách hàng không còn cần phải lưu trữ logic để quyết định khi nào nó được phép theo một liên kết.

+3

Như wikipedia nói: "Ngôn ngữ mô tả ứng dụng web (WADL) là một định dạng tệp dựa trên XML cung cấp mô tả máy có thể đọc được các ứng dụng web dựa trên HTTP. [...] Mục đích của WADL là cho phép các dịch vụ trên internet (hoặc bất kỳ mạng IP nào khác) được mô tả theo cách có thể xử lý bằng máy, để tạo các ứng dụng phong cách Web 2.0 dễ dàng hơn và tạo ra cách tạo và định cấu hình các dịch vụ năng động. cho một dịch vụ web hiện có, nghiên cứu và viết ứng dụng theo cách thủ công. " – lmsasu

+0

Do đó câu hỏi ... trong khi WSDL có thể dễ dàng được sử dụng bởi các công cụ như svcutil, tôi cũng hy vọng có thể tạo ra một tài liệu WADL có thể hữu ích cho một nhà phát triển. WSDL được tuyên bố là phù hợp hơn với WS có nghĩa là WSDL an toàn. Tôi đã hiểu sai? – lmsasu

+1

Tôi thấy câu trả lời của bạn từ http://stackoverflow.com/questions/2689122/how-to-generate-restful-client-in-java-for-rest-defined-in-wsdl/2691081#2691081 - và nhận xét " Nếu khách hàng phụ thuộc vào mô tả dịch vụ thu được tại thời điểm thiết kế, hệ thống của bạn là bất cứ điều gì nhưng RESTful "- tôi đoán đây là ý của bạn? – lmsasu

4

Có vẻ như REST Describe & Compile nên thực hiện thủ thuật.

Trên trang web dành cho nhà phát triển WADL, Marc Hadley duy trì công cụ dòng lệnh có tên WADL2Java. Mục tiêu đầy tham vọng của REST Mô tả & Biên dịch là cung cấp loại của WADL2Anything. Vì vậy, những gì REST của Mô tả & Compile không là nó:

  • Tạo file WADL mới theo một cách hoàn toàn tương tác.
  • Cho phép bạn tải lên và chỉnh sửa các tệp WADL hiện có.
  • Cho phép bạn biên dịch tệp WADL sang mã nguồn bằng các ngôn ngữ lập trình khác nhau .
8

Đây là câu hỏi cũ nhưng đã tiêu thụ các dịch vụ an toàn với WADL mà họ cung cấp một số giá trị. Bạn có thể nhập chúng trực tiếp vào SOAPUI và nó sẽ xây dựng một bộ kiểm thử cho bạn một cách tự động. Thứ hai, chúng có xu hướng chứa tất cả các XSD được yêu cầu cho các dịch vụ dựa trên XML và rất hữu ích để tự động xây dựng các lớp serialisable mà các thiết bị đầu cuối của bạn chấp nhận và nhận.

+0

Đây là một câu trả lời rất hữu ích. Nếu bạn biết về một số hướng dẫn về chủ đề này, vui lòng thêm chúng vào câu trả lời ở trên. – lmsasu

+1

Xin lỗi tôi đã tìm thấy những điều này thông qua thử và sai. Về mặt giao diện người dùng Soap bạn chỉ cần tạo một dự án mới và sau đó chọn một tệp WADL giống như cách bạn chọn WSDL cho dịch vụ SOAP .. –

+2

Tôi nghĩ câu hỏi này đã hỏi cách tạo WADL thay vì WSDL trong .NET. . Bạn có một giải pháp cho điều đó? – crush

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