Soap is a simple xml-based protocol used to exchange structure and type information on the web, from its name (soap, simple object access protocol, (Simple Object Access Protocol), we can see that the purpose of the design is to make information exchange as simple as possible. Soap is just a framework. It can be implemented using http as the carrier, or other methods, such as ftp, smtp, or even a floppy disk. However, http is generally used, it seems that soap must be based on http. In addition, since soap is a protocol, it does not mean it must serve webservice.
This statement is not true if there are two http modes of rpc and xml in soap. First, soap is based on xml, and rpc call is implemented through http, below is a soap request called by the rpc method named "echoString:
POST/test/simple. asmx HTTP/1.1
Host: 131.107.72.13
Content-Type: text/xml; charset = UTF-8
Content-Length: length
SOAPAction: "http://soapinterop.org/echoString"
<? Xml version = "1.0" encoding = "UTF-8"?>
<Soap: Envelope xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"
Xmlns: xsd = "http://www.w3.org/2001/XMLSchema"
Xmlns: soapenc = "http://schemas.xmlsoap.org/soap/encoding/" xmlns: tns = "http://soapinterop.org /"
Xmlns: soap = "http://schemas.xmlsoap.org/soap/envelope/">
<Soap: Body soap: encodingStyle = "http://schemas.xmlsoap.org/soap/encoding/">
<Tns: echoString>
<InputString> string </inputString>
</Tns: echoString>
</Soap: Body>
</Soap: Envelope>
You can see that the method name echoString is included in the soap body.