Ниже приведено демо-сообщение SOAP-запроса:
HTTP/1.1 200 OK
Content-Type: text/xml; charset="utf-8"
Content-Length: nnnn
<SOAP-ENV:Envelope
xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
<SOAP-ENV:Header>
<t:SessionOrder
xmlns:t="http://example.com"
xsi:type="xsd:int" mustUnderstand="1">
5
</t:SessionOrder>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<GetStockQuote
xmlns="http://someexample.com">
<Price>MSFT</Price>
</GetStockQuote>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
И мы можем видеть, что это сообщение SOAP закодировано, как если бы оно было веб-страницей. Почему мы должны использовать протокол HTTP? Сообщение SOAP - это всего лишь некоторый XML, почему бы нам просто не использовать XML в качестве протокола обмена информацией и избавиться от HTTP-заголовков (таким образом, оставить только HTTP).
Большое спасибо.
Обновление - 1
HTTP не является протоколом транспортного уровня. Это всего лишь протокол уровня приложения. Это не имеет никакого отношения к транспорту. На самом деле, мой вопрос заключается в том, какой мотив добавления HTTP-материала в сообщение SOAP?