#29 Bug Bounty v.2 — Тестирование API. Simple Object Access Protocol (SOAP)
Здравствуйте, дорогие друзья.
В предыдущем разделе я упоминал RPC API, в частности, я говорил о так называемом XMLRPC. Вы можете рассматривать SOAP API как более продвинутую версию XMLRPC. Они оба очень похожи тем, что используют XML для кодирования и HTTP для передачи сообщений. Однако SOAP API, как правило, немного сложнее, как показано в приведенном ниже запросе:

В отличие от запроса XMLRPC, который представляет собой просто большой двоичный файл данных в формате XML, запрос SOAP немного более структурирован, и для отправки запроса SOAP вы должны следовать этой структуре. Пример формата SOAP можно найти ниже:

Как вы можете видеть, сообщение сначала упаковывается в тег “<soapenv:Envelope>”, который содержит теги заголовка и основной части. Это значение может быть использовано как индикатор того, что вы имеете дело с SOAP API, поэтому обратите внимание на эту строку. Часть заголовка необязательна и используется для хранения значений, связанных с аутентификацией, сложными типами и другой информацией о самом сообщении. Текст — это часть XML-документа, которая фактически содержит наше сообщение, как показано в примере ниже:
<soapenv:Body>
<web:GetCitiesByCountry>
<!—type: string—>
<web:CountryName>gero et</web:CountryName>
</web:GetCitiesByCountry>
<soapenv:Body>
Как вы можете видеть из приведенного выше текста SOAP, мы вызываем метод с именем “GetCitiesByCountry” и передаем в качестве аргумента “countryName” строковое значение “gero et”.
На этом все. Всем хорошего дня!