SOAP is a data format. It often -but not always- is transported via HTTP (and yes, it would in the HTTP body).
Yes, SOAP can include attachments.
Joined: Jan 05, 2013
So, Actually SOAP : Simple Object Access Protocol is a Misnomer, Its actually Data Exchange Format specification
HTTP is used because its not blocked traffic.
When Webservice is getting invoked, Its Like HTTP(HTML) traffic is going, Though Under the covers SOAP Payload is delivered which being XML is understood Well by .NET or Java Client.