Size |
Heavy weight because of complicated WSDL structure. |
Light weight, only the necessary information is transferred. |
Protocol |
Independent of protocols. |
Only for HTTP protocol |
Formats |
To parse SOAP message, the client needs to understand WSDL format. Writing custom code for parsing WSDL is a heavy duty task. If your client is smart enough to create proxy objects like how we have in .NET (add reference) then SOAP is easier to consume and call. |
Output of WebAPI are simple string messages, JSON, simple XML format, etc. So writing parsing logic for that is very easy. |
Principles |
SOAP follows WS-* specification. |
WebAPI follows REST principles. (Please refer to REST in WCF chapter.) |