Что такое wsdl файл

Обновлено: 07.07.2024

Применение SOAP при интеграции систем

Для начинающих аналитиков,

не имеющих опыта web-разработки

В предыдущей статье мы говорили про то, что REST — это архитектурный стиль, который Рой Филдинг сформулировал в своей диссертации в 2000 году.

С протоколом SOAP дела обстоят несколько иначе.
SOAP — это не стиль, а протокол. Аббревиатура SOAP так и расшифровывается: Simple Object Access Protocol — простой протокол доступа к объектам. То есть правила передачи информации в SOAP строго стандартизированы, есть спецификация, которой нужно соответствовать.

SOAP появился 1998 году и был передан в организацию World Wide Web Consortium (W3C) — международная организация, которая курирует развитие интернета.

Если сравнить это с тем фактом, что Рой Филдинг просто представил REST в своей диссертации, то вы поймете, почему SOAP завоевал популярность очень быстро.

Тем не менее на данный момент можно говорить о том, что в основном для интеграции систем используется REST.

Для того, чтобы наглядно показать отличие REST от SOAP, приведем вот такую аналогию. Представьте себе дерево, в котором есть дупло, и из этого дупла выглядывает птичка. Когда вы обращаетесь к какому-то приложению, вы как будто обращайтесь к такому дереву и стучитесь в окошко. Условно можно считать, что в это окошко выглядывает некоторая функция.

Если вы работаете с REST, то можно себе представить дерево, в котором есть много таких окошек — большое количество птичек, каждая из которых выглядывает из своего дупла. Это дупло называется Endpoint, но это отдельный разговор. Важно, что каждый раз, обращаясь к дуплу, вы обращаетесь только к одной функции.

SOAP основывается на технологии удаленного вызова процедур. Сервис, который работает на базе SOAP — это дерево с одним-единственным дуплом. Но каждый раз, обращаясь к этому дуплу, вы должны указать название процедуры, то есть название функции, которую вы хотите вызвать, потому что функций там может быть несколько. И, разумеется, вы должны передать те входные данные, которые нужны для процедуры, которую вы собираетесь вызвать.

WSDL расшифровывается как язык описания веб-сервисов. Это стандартный формат для описания веб-службы. WSDL был разработан совместно Microsoft и IBM.

Особенности WSDL

Определения WSDL описывают, как получить доступ к веб-службе и какие операции она будет выполнять.

WSDL является неотъемлемой частью универсального описания, обнаружения и интеграции (UDDI), всемирного реестра предприятий на основе XML.

WSDL произносится как «wiz-тупой» и произносится как «WSD-L».

Определения WSDL описывают, как получить доступ к веб-службе и какие операции она будет выполнять.

WSDL является неотъемлемой частью универсального описания, обнаружения и интеграции (UDDI), всемирного реестра предприятий на основе XML.

WSDL произносится как «wiz-тупой» и произносится как «WSD-L».

Использование WSDL

WSDL часто используется в сочетании с SOAP и XML-схемой для предоставления веб-сервисов через Интернет. Клиентская программа, подключающаяся к веб-службе, может прочитать WSDL, чтобы определить, какие функции доступны на сервере. Все используемые специальные типы данных встраиваются в файл WSDL в форме XML-схемы. Затем клиент может использовать SOAP для фактического вызова одной из функций, перечисленных в WSDL.

История WSDL

WSDL 1.1 был представлен Ariba, IBM и Microsoft в виде заметки W3C для описания сервисов для W3C XML Activity по XML-протоколам в марте 2001 года.

WSDL 1.1 не был одобрен Консорциумом World Wide Web (W3C), однако он только что выпустил проект для версии 2.0, который будет рекомендацией (официальным стандартом), и, таким образом, одобрен W3C.

WSDL разбивает веб-службы на три определенных идентифицируемых элемента, которые могут быть объединены или использованы повторно после определения.

Три основных элемента WSDL, которые могут быть определены отдельно:

Документ WSDL имеет различные элементы, но они содержатся в этих трех основных элементах, которые можно разрабатывать как отдельные документы, а затем их можно объединять или повторно использовать для формирования полных файлов WSDL.

Элементы WSDL

Документ WSDL содержит следующие элементы:

В дополнение к этим основным элементам спецификация WSDL также определяет следующие служебные элементы:

Структура документа WSDL

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

Продолжите анализировать пример документа WSDL.

Ниже приведен файл WSDL, предоставленный для демонстрации простой программы WSDL.

Предположим, что сервис предоставляет единственную общедоступную функцию, называемую sayHello . Эта функция ожидает один строковый параметр и возвращает приветствие одной строки. Например, если вы передаете параметр world, то сервисная функция sayHello возвращает приветствие «Hello, world!».

пример

Пример анализа

Элемент <definitions> должен быть корневым элементом всех документов WSDL. Он определяет название веб-службы.

Вот фрагмент кода из последней главы, в котором используется элемент определения .

является контейнером всех других элементов.

указывает, что этот документ называется HelloService .

определяет многочисленные пространства имен, которые используются в оставшейся части документа.

является контейнером всех других элементов.

указывает, что этот документ называется HelloService .

определяет многочисленные пространства имен, которые используются в оставшейся части документа.

Элемент types описывает все типы данных, используемые между клиентом и сервером.

WSDL не привязан исключительно к конкретной системе ввода.

WSDL использует спецификацию XML-схемы W3C в качестве выбора по умолчанию для определения типов данных.

Если служба использует только простые встроенные типы XML-схемы, такие как строки и целые числа, то элемент types не требуется.

WSDL позволяет определять типы в отдельных элементах, чтобы их можно было повторно использовать в нескольких веб-службах.

Элемент types описывает все типы данных, используемые между клиентом и сервером.

Язык описания веб-сервисов WSDL (Web Services Description Language) основан на языке XML. В июне 2007 года была утверждена WSDL 2.0 в качестве стандарта W3C (World Wide Web Consortium), но несмотря на это версия WSDL 1.1 остается широко используемой формой описания Web-сервисов SOAP. WSDL 1.1 имеет определенные недостатки, включающие чрезмерно сложную структуру. Это серьезно затрудняет его чтение для начинающих.

На рисунке, позаимствованному из Wikipedia, представлены структуры WSDL для версий 1.1 и 2.0.


WSDL 1.1

В WSDL документах версии 1.1 используется корневая секция с названием <wsdl:definitions>, включающая один «пассивный» дочерний элемент (ссылка на отдельные документы WSDL 1.1) и пять «активных» дочерних элементов, составляющие описание сервиса :

Первым дочерним элементом секции <wsdl:definitions> для документирования может быть использован не представленный в таблице элемент <wsdl:documentation>. Данный тег может быть также использован также для документирования любого из элементов описания сервиса.

Для полного описания сервиса требуется один элемент каждого из представленных в таблице типов, за исключением <wsdl:import>. Но не обязательно, чтобы все они находились в одном и том же документе. Элемент <wsdl:import> позволяет собирать полное описание WSDL из нескольких документов. Три элемента описания (<wsdl:types>, <wsdl:message> и <wsdl:portType>) формируют полное описание интерфейса сервиса. Элементы <wsdl:binding> и <wsdl:service> ориентированы на реализацию элементов сервиса.

Пример WSDL 1.1

На странице описания клиентов SOAP были использованы действующие WEB-сервисы получения значений кодов ZIP города Нью-Йорк и информации сервиса BELAVIA. В качестве примера описания WSDL рассмотрим WEB сервис BELAVIA. Следующий листинг представляет структуру сервиса wsdl :

Структура WSDL сервиса BELAVIA

Описания сервиса WSDL представлено одним документом и не включает секцию <wsdl:import>. В корневой секции <wsdl:definitions> определяются именованные пространства, используемые при описании элементов документа.

Компонентам документа WSDL присваиваются отдельные имена с использованием атрибута name. При использовании в корневом элементе документа <wsdl:definitions> атрибута targetNamespace, имена этих компонентов определены в этом пространстве имен. Это означает, что при определении имени достаточно присвоить простую, или «локальную», часть имени, но ссылки на этот компонент должны уточнять имя с помощью префикса пространства имен или с помощью пространства имен по умолчанию.

  • <wsdl:input> — входные данные, отправляемые клиентом поставщику услуг;
  • <wsdl:output> — возвращаемые клиенту поставщиком услуг данные;
  • <wsdl:fault> — возвращаемые клиенту поставщиком услуг данные при возникновении ошибки.

WSDL 1.1 определяет две модели взаимодействия клиента и поставщика услуг, представленных различными последовательностями дочерних элементов <wsdl:input> и <wsdl:output> : операций типа запрос-ответ, где за <wsdl:input> следует <wsdl:output>, и односторонние операции, содержащие только <wsdl:input>. В случае операций типа запрос-ответ за элементами <wsdl:input> и <wsdl:output> может следовать любое количество элементов <wsdl:fault>.

Если рассмотреть элемент <wsdl:portType> с точки зрения Java как определение интерфейса, то элементы <wsdl:operation> будут эквивалентны методам, включающим в качестве параметров элементы <wsdl:input>; элементы <wsdl:output> будут определять результаты выполнения методов, а <wsdl:fault> соответствовать исключениям. Этот подход используется при генерировании кода Java из WSDL.

Дочерние элементы <wsdl:binding> содержат информацию о способе реализации. Элементы из пространства имен WSDL соответствуют элементам <wsdl:portType> и должны использовать то же значение name – а не ссылки с уточнением пространства имен, как в случае <wsdl:portType>. Та же связь по имени относится и к дочерним элементам <wsdl:input>/<wsdl:output>/<wsdl:fault> элементов <wsdl:operation>. Несмотря на повторное использование одних и тех же имен элементов, содержание этих элементов существенно отличается для дочерних элементов <wsdl:binding> относительно элементов <wsdl:portType>.

Элемент <wsdl:binding> включает дочерние элементы <wsdl:operation> внутри которого

WSDL 2.0

Описание документа WSDL 2.0 на странице не приводится, но желающие могут ознакомится с англо-язычной версией здесь.

Программы, которые поддерживают WSDL расширение файла

Следующий список содержит программы, сгруппированные по 3 операционным системам, которые поддерживают WSDL файлы. Файлы с суффиксом WSDL могут быть скопированы на любое мобильное устройство или системную платформу, но может быть невозможно открыть их должным образом в целевой системе.

Программы, обслуживающие файл WSDL

Как открыть файл WSDL?

Отсутствие возможности открывать файлы с расширением WSDL может иметь различное происхождение. Что важно, все распространенные проблемы, связанные с файлами с расширением WSDL, могут решать сами пользователи. Процесс быстрый и не требует участия ИТ-специалиста. Мы подготовили список, который поможет вам решить ваши проблемы с файлами WSDL.

Шаг 1. Скачайте и установите Microsoft Visual Studio

Install software to open WSDL file

Проблемы с открытием и работой с файлами WSDL, скорее всего, связаны с отсутствием надлежащего программного обеспечения, совместимого с файлами WSDL на вашем компьютере. Наиболее очевидным решением является загрузка и установка Microsoft Visual Studio или одной из перечисленных программ: oXygen XML Editor, Stylus Studio. В верхней части страницы находится список всех программ, сгруппированных по поддерживаемым операционным системам. Самый безопасный способ загрузки Microsoft Visual Studio установлен - для этого зайдите на сайт разработчика (Microsoft Corporation) и загрузите программное обеспечение, используя предоставленные ссылки.

Шаг 2. Обновите Microsoft Visual Studio до последней версии

Update software that support file extension WSDL

Вы по-прежнему не можете получить доступ к файлам WSDL, хотя Microsoft Visual Studio установлен в вашей системе? Убедитесь, что программное обеспечение обновлено. Иногда разработчики программного обеспечения вводят новые форматы вместо уже поддерживаемых вместе с новыми версиями своих приложений. Причиной того, что Microsoft Visual Studio не может обрабатывать файлы с WSDL, может быть то, что программное обеспечение устарело. Последняя версия Microsoft Visual Studio должна поддерживать все форматы файлов, которые совместимы со старыми версиями программного обеспечения.

Шаг 3. Свяжите файлы Web Services Description Language Format с Microsoft Visual Studio

Если проблема не была решена на предыдущем шаге, вам следует связать WSDL файлы с последней версией Microsoft Visual Studio, установленной на вашем устройстве. Процесс связывания форматов файлов с приложением по умолчанию может отличаться в деталях в зависимости от платформы, но основная процедура очень похожа.

Associate software with WSDL file on Windows

Процедура изменения программы по умолчанию в Windows

  • Нажатие правой кнопки мыши на WSDL откроет меню, из которого вы должны выбрать опцию Открыть с помощью
  • Далее выберите опцию Выбрать другое приложение а затем с помощью Еще приложения откройте список доступных приложений.
  • Наконец, выберите Найти другое приложение на этом. , укажите папку, в которой установлен Microsoft Visual Studio, установите флажок Всегда использовать это приложение для открытия WSDL файлы свой выбор, нажав кнопку ОК

Процедура изменения программы по умолчанию в Mac OS

Шаг 4. Убедитесь, что WSDL не неисправен

Вы внимательно следили за шагами, перечисленными в пунктах 1-3, но проблема все еще присутствует? Вы должны проверить, является ли файл правильным WSDL файлом. Отсутствие доступа к файлу может быть связано с различными проблемами.

Check WSDL file for viruses

1. Убедитесь, что WSDL не заражен компьютерным вирусом

Если файл заражен, вредоносная программа, находящаяся в файле WSDL, препятствует попыткам открыть его. Немедленно просканируйте файл с помощью антивирусного инструмента или просмотрите всю систему, чтобы убедиться, что вся система безопасна. WSDL файл инфицирован вредоносным ПО? Следуйте инструкциям антивирусного программного обеспечения.

2. Убедитесь, что файл с расширением WSDL завершен и не содержит ошибок
3. Проверьте, есть ли у пользователя, вошедшего в систему, права администратора.

Иногда для доступа к файлам пользователю необходимы права администратора. Выйдите из своей текущей учетной записи и войдите в учетную запись с достаточными правами доступа. Затем откройте файл Web Services Description Language Format.

4. Убедитесь, что в системе достаточно ресурсов для запуска Microsoft Visual Studio

Операционные системы могут иметь достаточно свободных ресурсов для запуска приложения, поддерживающего файлы WSDL. Закройте все работающие программы и попробуйте открыть файл WSDL.

5. Убедитесь, что ваша операционная система и драйверы обновлены

Современная система и драйверы не только делают ваш компьютер более безопасным, но также могут решить проблемы с файлом Web Services Description Language Format. Возможно, что одно из доступных обновлений системы или драйверов может решить проблемы с файлами WSDL, влияющими на более старые версии данного программного обеспечения.

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла WSDL мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле WSDL.

Читайте также: