I have read that web services are transmitted through SOAP over HTTP. Then what is the difference between SOAP and HTTP, if they are both communication protocols?
Is there any difference or is HTTP simply a binding used by SOAP?
I have read that web services are transmitted through SOAP over HTTP. Then what is the difference between SOAP and HTTP, if they are both communication protocols?
Is there any difference or is HTTP simply a binding used by SOAP?
There are two main protocols related to web services.
1st, transport protocols - e.g. HTTP(commonly used), TCP, UDP
2nd, messaging protocols - e.g. SOAP, XML, JSON or binary encoded messages
Generally speaking,
A real world example: HTTP is like telephone communication, SOAP is like English.
You call the web service over HTTP in SOAP messages such as you call your friend by mobile phone and talking in English.
It's not web services are transmitted. Rather, messages are transmitted in SOAP format.
SOAP being a protocol specification for exchanging structured information can use pretty much any transport protocol (HTTP being the most widely used, RPC and SMTP can be used as well).
Long story short, you cannot compare HTTP and SOAP since these are two orthogonal things. See Wikipedia for introduction.
Web services do not need to be implemented using SOAP, and SOAP does not actually need to be transmitted over HTTP (although this is pretty rare). HTTP is the underlying protocol of the web, while SOAP is one way of using XML as an envelope for RPC calls.
Http or Https is the protocol over witch SOAP runs.
SOAP (Simple Object Access Protocol) is meant for data exchange between servers.
client systems of soap are just other servers that connect to get data from the master server.
the oter option of soap is RPC (remote procedure call)
http://en.wikipedia.org/wiki/SOAP