Ответы:
WSDL - это документ XML, описывающий веб-сервис. Это на самом деле означает язык описания веб-сервисов.
SOAP - это протокол на основе XML, который позволяет обмениваться информацией по определенному протоколу (например, HTTP или SMTP) между приложениями. Он обозначает Simple Object Access Protocol и использует XML для своего формата обмена сообщениями для передачи информации.
REST - это архитектурный стиль сетевых систем, означающий передачу представительского состояния. Это не стандарт, но он использует такие стандарты, как HTTP, URL, XML и т. Д.
"A WSDL is an XML document that describes a web service. It actually stands for Web Services Definition Language."
Это действительно не объясняет, что это такое ...
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".
Пример: Проще говоря, если у вас есть веб-сервис калькулятора.
WSDL: WSDL рассказывает о функциях, которые вы можете реализовать или предоставить клиенту. Например: добавить, удалить, вычесть и так далее.
SOAP: при использовании SOAP вы фактически выполняете такие действия, как doDelete (), doSubtract (), doAdd (). Так что SOAP и WSDL - это яблоки и апельсины. Мы не должны сравнивать их. Они оба имеют свои разные функции.
Почему мы используем SOAP и WSDL: для независимого от платформы обмена данными.
РЕДАКТИРОВАТЬ: В обычной повседневной жизни пример:
WSDL: Когда мы идем в ресторан, мы видим пункты меню, это WSDL.
Классы прокси: Теперь, увидев пункты меню, мы составляем наше мнение (Обдумываем, что заказывать): Итак, в основном мы создаем классы прокси на основе WSDL Document.
SOAP: Затем, когда мы на самом деле заказываем еду на основе меню: это означает, что мы используем прокси-классы для вызова методов обслуживания, которые выполняются с использованием SOAP. :)
Каждый раз, когда кто-то упоминает SOAP / WSDL, я думаю об объектах и классах, определенных в xml ...
«Вы используете SOAP точно так же, как любой другой класс PHP. Однако в этом случае этот класс существует не в файловой системе локальных приложений, а на удаленном сайте, доступ к которому осуществляется через http». ... «Если мы думаем об использовании службы SOAP как просто еще одного класса PHP, то документ WSDL представляет собой список всех доступных методов и свойств класса».
... и всякий раз, когда кто-то говорит о REST, я думаю о командах HTTP (методах запроса), таких как POST, GET и DELETE
SOAP -> SOAP (протокол простого доступа к объектам) - это протокол прикладного уровня, созданный для взаимодействия между компьютерами. Протокол определяет стандартные правила. Все стороны, которые используют определенный протокол, должны придерживаться правил протокола. Как и TCP, он разворачивается на транспортном уровне. Протокол SOAP будет пониматься прикладным уровнем (любое приложение, которое поддерживает SOAP - Axis2, .Net).
Сообщение WSDL -> SOAP состоит из SoapEnevelope-> SoapHeader и SoapBody. Это не определяет, какой будет формат сообщения? Какие все транспорты (HTTP, JMS) он поддерживает? без этой информации любому клиенту, который хочет использовать конкретный веб-сервис, сложно создать сообщение SOAP. Даже если они это сделают, они не будут уверены, это будет работать все время. WSDL - это спасение. WSDL (язык описания веб-служб) определяет операции, форматы сообщений и детали транспорта для сообщения SOAP.
REST -> REST (Передача состояния представления) основана на транспорте. В отличие от SOAP, который нацелен на действия, REST больше касается ресурсов. REST находит ресурсы, используя URL (пример -http: // {serverAddress} / employee / employeeNumber / 12345), и это зависит от транспортного протокола (с HTTP - GET, POST, PUT, DELETE, ...) для действий быть выполненным на ресурсах. Служба REST находит ресурс на основе URL-адреса и выполняет действие на основе глагола действия транспорта. Это скорее архитектурный стиль и условности.
Вы не собираетесь «просто» понимать что-то сложное.
WSDL - это язык на основе XML для описания веб-службы. Он описывает сообщения, операции и информацию о сетевом транспорте, используемую службой. Эти веб-службы обычно используют SOAP, но могут использовать и другие протоколы.
WSDL может быть прочитан программой и может использоваться для генерации всего или части клиентского кода, необходимого для вызова веб-службы. Это то, что означает называть основанные на SOAP веб-сервисы «самоописывающимися».
REST вообще не связан с WSDL.
SOAP обозначает простой (sic) протокол доступа к объектам. Предполагалось, что это будет способ делать удаленные вызовы процедур для удаленных объектов, отправляя XML через HTTP.
WSDL - это язык описания веб-сервисов. Запрос, заканчивающийся на '.wsdl' к конечной точке, приведет к сообщению XML, описывающему запрос и ответ, которые может ожидать использование. Он описывает контракт между сервисом и клиентом.
REST использует HTTP для отправки сообщений сервисам.
SOAP - это спецификация, REST - это стиль.
Википедия говорит: «Язык описания веб-сервисов - это язык на основе XML, который обеспечивает модель для описания веб-сервисов». Иными словами, WSDL - это веб-сервис, а javadoc - это библиотека java.
Правда, в WSDL очень приятно то, что программное обеспечение может генерировать клиент и сервер с использованием WSDL.
REST является легким с точки зрения кодирования, гораздо более полезным для легких устройств, то есть для нестрогих API.
REST не зависит от формата. XML, HTML, JSON доступны все варианты.
REST предоставляет возможности для двухточечной передачи сообщений (что неудивительно, поскольку REST означает REpresentational State Transfer), где взаимодействие WSDL / SOAP представляет собой взаимодействие нескольких точек сообщения.
REST не требует нового расширения для сообщений XML, где в WSDL / SOAP это именно так.
WSDL / SOAP использует несколько транспортных протоколов, REST использует только HTTP. Поэтому WSDL / SOAP можно использовать как способ RESTful, однако простые запросы могут быть слишком сложными / тяжелыми.
Простая аналогия: REST похож на мотобоя, который доставляет еду легко и быстро. XML расширяет WSDL / SOAP, больше похож на доставку UPS, более структурированную и серьезную работу, но требует затрат.
Некоторые четкие объяснения (для SOAP и WSDL) также можно найти здесь.
Документ WSDL описывает веб-сервис. Он определяет местоположение службы и методы службы с использованием этих основных элементов: типы данных, используемые в элементах данных веб-службы для каждой операции, описывают операции, которые могут быть выполнены, и сообщения, включенные
SOAP (Simple Object Access Protocol) - это протокол обмена сообщениями, который позволяет программам, работающим в разнородных операционных системах, обмениваться данными с использованием http и xml.