Câu trả lời:
WSDL là một tài liệu XML mô tả một dịch vụ web. Nó thực sự là viết tắt của Ngôn ngữ mô tả dịch vụ web.
SOAP là một giao thức dựa trên XML cho phép bạn trao đổi thông tin qua một giao thức cụ thể (ví dụ có thể là HTTP hoặc SMTP) giữa các ứng dụng. Nó là viết tắt của Giao thức truy cập đối tượng đơn giản và sử dụng XML cho định dạng nhắn tin của nó để chuyển tiếp thông tin.
REST là một kiểu kiến trúc của các hệ thống nối mạng và là viết tắt của Chuyển giao trạng thái đại diện. Bản thân nó không phải là một tiêu chuẩn, nhưng sử dụng các tiêu chuẩn như HTTP, URL, XML, v.v.
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
Điều này thực sự không giải thích nó là gì ...
The current version of WSDL is WSDL 2.0. The meaning of the acronym has changed from version 1.1 where the "D" stood for "Definition".
Ví dụ: Trong một thuật ngữ đơn giản nếu bạn có một dịch vụ web của máy tính.
WSDL: WSDL cho biết về các chức năng mà bạn có thể triển khai hoặc tiếp xúc với máy khách. Ví dụ: thêm, xóa, trừ và như vậy.
SOAP: Khi sử dụng SOAP, bạn thực sự thực hiện các hành động như doDelete (), doSubtract (), doAdd (). Vì vậy, SOAP và WSDL là táo và cam. Chúng ta không nên so sánh chúng. Cả hai đều có chức năng khác nhau của họ.
Tại sao chúng tôi sử dụng SOAP và WSDL: Để trao đổi dữ liệu độc lập với nền tảng.
EDIT: Trong một ví dụ cuộc sống hàng ngày bình thường:
WSDL: Khi chúng tôi đến một nhà hàng, chúng tôi thấy các Mục menu, đó là các WSDL.
Các lớp Proxy: Bây giờ sau khi nhìn thấy các Mục menu, chúng tôi tạo nên Tâm trí của chúng tôi (Xử lý tâm trí của chúng tôi để đặt hàng): Vì vậy, về cơ bản, chúng tôi tạo các lớp Proxy dựa trên Tài liệu WSDL.
SOAP: Sau đó, khi chúng tôi thực sự đặt món ăn dựa trên Menu: Có nghĩa là chúng tôi sử dụng các lớp proxy để gọi các phương thức dịch vụ được thực hiện bằng SOAP. :)
Mỗi khi ai đó nhắc đến SOAP / WSDL, tôi nghĩ về các đối tượng và các lớp được định nghĩa trong xml ...
"Bạn sử dụng SOAP giống như cách bạn sử dụng bất kỳ lớp PHP nào. Tuy nhiên, trong trường hợp này, lớp này không tồn tại trong hệ thống tệp ứng dụng cục bộ, mà tại một trang web từ xa được truy cập qua http." ... "Nếu chúng tôi nghĩ rằng sử dụng dịch vụ SOAP như một lớp PHP khác thì tài liệu WSDL là một danh sách tất cả các phương thức và thuộc tính lớp có sẵn."
.. và bất cứ khi nào ai đó nói về REST, tôi nghĩ về các lệnh của HTTP (phương thức yêu cầu) như POST, GET và DELETE
SOAP -> SOAP (Protocal truy cập đối tượng đơn giản) là tiêu đề cấp ứng dụng được tạo cho tương tác giữa máy với máy. Giao thức xác định các quy tắc tiêu chuẩn. Tất cả các bên đang sử dụng giao thức cụ thể phải tuân thủ các quy tắc giao thức. Giống như TCP, Nó thư giãn ở lớp vận chuyển, Giao thức SOAP sẽ được hiểu bởi lớp Ứng dụng (bất kỳ ứng dụng nào hỗ trợ SOAP - Axis2, .Net).
Thông báo WSDL -> SOAP bao gồm SoapEnevelope-> SoapHeader và SoapBody. Nó không định nghĩa định dạng tin nhắn là gì? tất cả các phương tiện vận chuyển (HTTP, JMS) mà nó hỗ trợ là gì? không có thông tin này, khó có khách hàng nào muốn sử dụng dịch vụ web cụ thể để xây dựng thông báo SOAP. Ngay cả nếu họ làm, họ sẽ không chắc chắn, nó sẽ hoạt động mọi lúc. WSDL là giải cứu. WSDL (Ngôn ngữ mô tả dịch vụ web) xác định các hoạt động, định dạng thông báo và chi tiết truyền tải cho thông báo SOAP.
REST -> REST (Chuyển trạng thái đại diện) dựa trên Giao thông vận tải. Không giống như SOAP nhắm vào các hành động, REST quan tâm nhiều hơn đến các tài nguyên. REST định vị tài nguyên bằng cách sử dụng URL (ví dụ -http: // {serverAddress} / staff / workerNumber / 12345) và nó phụ thuộc vào giao thức truyền tải (với HTTP - GET, POST, PUT, DELETE, ...) cho các hành động được thực hiện trên các tài nguyên. Dịch vụ REST định vị tài nguyên dựa trên URL và thực hiện hành động dựa trên động từ hành động vận chuyển. Đó là nhiều hơn về phong cách kiến trúc và quy ước dựa.
Bạn sẽ không "đơn giản" hiểu điều gì đó phức tạp.
WSDL là một ngôn ngữ dựa trên XML để mô tả một dịch vụ web. Nó mô tả các thông điệp, hoạt động và thông tin vận chuyển mạng được sử dụng bởi dịch vụ. Các dịch vụ web này thường sử dụng SOAP, nhưng có thể sử dụng các giao thức khác.
Một chương trình WSDL có thể đọc được và do đó có thể được sử dụng để tạo tất cả hoặc một phần mã khách hàng cần thiết để gọi dịch vụ web. Đây là ý nghĩa của việc gọi các dịch vụ web dựa trên SOAP là "tự mô tả".
REST hoàn toàn không liên quan đến WSDL.
SOAP là viết tắt của Giao thức truy cập đối tượng đơn giản (sic). Nó được dự định là một cách để thực hiện các cuộc gọi thủ tục từ xa đến các đối tượng từ xa bằng cách gửi XML qua HTTP.
WSDL là ngôn ngữ mô tả dịch vụ web. Một yêu cầu kết thúc bằng '.wsdl' đến một điểm cuối sẽ dẫn đến một thông báo XML mô tả yêu cầu và phản hồi mà việc sử dụng có thể mong đợi. Nó hủy bỏ hợp đồng giữa dịch vụ và khách hàng.
REST sử dụng HTTP để gửi tin nhắn đến các dịch vụ.
SOAP là một thông số kỹ thuật, REST là một phong cách.
Wikipedia cho biết "Ngôn ngữ mô tả dịch vụ web là ngôn ngữ dựa trên XML cung cấp mô hình để mô tả các dịch vụ web". Nói cách khác, WSDL là một dịch vụ web, vì javadoc là một thư viện java.
Tuy nhiên, điều thực sự thú vị về WSDL là phần mềm có thể tạo ra máy khách và máy chủ bằng WSDL.
REST có trọng lượng nhẹ về mặt mã hóa, hữu ích hơn nhiều đối với các thiết bị có trọng lượng nhẹ, tức là các API không nghiêm ngặt.
REST là định dạng độc lập. XML, HTML, JSON tất cả các tùy chọn có sẵn.
REST cung cấp các khả năng cho chuyển tin nhắn 2 điểm (không đáng ngạc nhiên vì REST là viết tắt của Chuyển trạng thái REpresentational) trong đó tương tác WSDL / SOAP là tương tác tin nhắn nhiều điểm.
REST không yêu cầu một phần mở rộng mới cho các thông báo XML, trong đó trong WSDL / SOAP, đây là trường hợp.
WSDL / SOAP sử dụng nhiều giao thức truyền tải, REST chỉ dựa trên HTTP. Do đó, WSDL / SOAP có thể được sử dụng như một cách RESTful, tuy nhiên các yêu cầu đơn giản có thể quá phức tạp / nặng nề.
Một sự tương tự đơn giản: REST giống như một motoboy cung cấp thức ăn của bạn dễ dàng và nhanh chóng. XML mở rộng WSDL / SOAP giống như phân phối UPS, các công cụ có cấu trúc và nghiêm túc hơn nhưng đi kèm với chi phí.
Một số giải thích rõ ràng (cho SOAP và WSDL) cũng có thể được tìm thấy ở đây.
Tài liệu WSDL mô tả dịch vụ web. Nó chỉ định vị trí của dịch vụ và các phương thức của dịch vụ bằng các yếu tố chính này: các kiểu dữ liệu sử dụng trong các yếu tố dữ liệu dịch vụ web cho mỗi hoạt động mô tả các hoạt động có thể được thực hiện và các thông điệp được hình thành
SOAP (Giao thức truy cập đối tượng đơn giản) là giao thức nhắn tin cho phép các chương trình chạy trên các hệ điều hành khác nhau có thể giao tiếp bằng http và xml.