Как термин «WSDL» связан с программированием при использовании веб-сервисов? - PullRequest
1 голос
/ 25 августа 2011

Я прочитал несколько постов о WSDL и SOAP, но все же я путаю фактические значения этих терминов. Теперь я понимаю, что вам нужно создать сообщение запроса, чтобы использовать веб-сервис, будь то сообщение или сообщение. Говоря о веб-сервисах на основе SOAP, вам необходимо взаимодействовать с веб-сервером через сконструированные XML-документы, совместимые с SOAP. Таким образом, вам нужно создать это вручную или с использованием соответствующих библиотек. Как насчет WSDL, когда эта штука появится?

Википедия заявляет: «WSDL часто используется в сочетании с SOAP и схемой XML для предоставления веб-сервисов через Интернет. Клиентская программа, подключающаяся к веб-сервису, может прочитать файл WSDL, чтобы определить, какие операции доступны на сервере». , Таким образом, это означает, что WSDL - это просто некоторый файл, описывающий, какие сервисы доступны на веб-сервере, и я полагаю, что такое взаимодействие также должно осуществляться с использованием SOAP. Но если я знаю все веб-сервисы, которые я использую, я имею в виду, если они жестко закодированы, то это означает, что я вообще не имею дело с WSDL. IMHO WSDL только для очень умных систем, где перед использованием веб-сервисов программе необходимо прочитать состояние и определить, что читать. Я прав?

1 Ответ

4 голосов
/ 25 августа 2011

WSDL - это средство для описания того, какие операции (метод) имеет веб-служба, а также ввод / вывод этих методов. В прошлом, еще до того, как мобильный телефон стал популярным, WSDL использовался в качестве средства для создания так называемых классов-заглушек / прокси.

Эти классы в основном генерируются определенным Генератором (таким как WSDL2Java для Java или WSDL.exe для .NET ), задачей которого является чтение WSDL, получение методов вместе с его ввод / вывод и генерировать специфичные для языка классы для предоставления этих сервисов изначально. По сути, он скрывает SOAP-сообщения от пользователя и потребителя с точки зрения веб-сервиса, они имеют дело с нативными классами своего языка по своему выбору.

Таким образом, WebService с SOAP был объявлен средством интеграции между гетерогенными системами, что позволяет осуществлять связь независимо от языка. Например, язык для реализации сервиса может быть в C #, но потребитель веб-сервисов может быть в Java. Если потребитель является программистом на Java, то при использовании WSDL для автоматической генерации классов программистам на Java даже не нужно знать концепцию SOAP или XML. Все программисты знают, что имеют дело с Java-объектом.

В настоящее время SOAP более прозрачен и хорошо известен, чем в прошлом. В результате по выбору программист может напрямую кодировать сообщение SOAP, минуя необходимость генерировать код через WSDL

.
...