Что такое WSDL в контексте SOAP-сервисов?

«Что такое WSDL в контексте SOAP-сервисов?» — вопрос из категории API тестирование, который задают на 10% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

WSDL (Web Services Description Language) — это XML-формат, который описывает контракт SOAP-веб-сервиса. Он определяет:

  • Расположение сервиса (эндпоинт).
  • Доступные операции (методы).
  • Формат данных для запросов и ответов (типы сообщений).
  • Протокол связи (например, SOAP over HTTP).

Пример фрагмента WSDL, определяющего операцию:

<wsdl:portType name="UserServicePort">
  <wsdl:operation name="getUser">
    <wsdl:input message="tns:getUserRequest"/>
    <wsdl:output message="tns:getUserResponse"/>
  </wsdl:operation>
</wsdl:portType>

Практическое значение для тестирования: WSDL служит единым источником истины о сервисе. Инструменты вроде SoapUI или wsimport (для Java) используют его для автоматической генерации клиентского кода и тестовых запросов, что ускоряет создание тестов и снижает количество ошибок, связанных с ручным формированием XML.