There is a wide variety and breadth in relation to "web services." Itβs very useful for me to clearly indicate what we are talking about:
web = transported over HTTP(S) service = remote procedure call (RPC)
Note that the HTTP (S) part of this simply indicates the transport medium, but not the content. Also note that part of the RPC of this simply indicates behavior (essentially calling a remotely named function with arguments that return a result), but not the contents.
A critical question arises: do you control both sides of the communication. If so, but especially if not, you should be concerned about interoperability.
SOAP is a standard for implementing a web service that specifies the use of XML with special formatting for request and response content. This is VERY hard and there are still compatibility issues in various implementations.
There are many custom implementations, most of which are easier, but you will almost certainly encounter interaction issues.
Since any form of content can potentially be used to achieve a web service, I recommend choosing one that can handle complex content (to varying degrees), standardized, lightweight and reliable.
I recently leaned towards JSON for the content format. I recommend considering the same, especially if you plan to implement AJAX.
Best wishes.
Rob williams
source share