SOAP (originally Simple Object Access Protocol) is a messaging protocol specification for exchanging structured information in the implementation of web services in computer networks Its purpose is to induce extensibility , neutrality and independence. Both SOAP web services and RESTful web services have proven their ability to meet the demands of the largest enterprise organizations in the world, while at the same time being able to service the smallest internet of things devices or embedded applications in production.
If an Element in a schema definition depends has a basenamespace defined but the request does not need that value, for example you have a “sentJob” with basenamespace “v20” but the request need only: set in the tree structure, you need to set the ignoreBaseNameSpaces to true.
Anyone who tells you that code generation tools are proof that SOAP is harder to use than REST is overlooking the fact that in a REST service I have no way of knowing what data the service expects or will return unless the developer has documented it. Try consuming a REST service with no documentation – you can’t use a code generation tool because there is no data contract.
SOAP relies on building XML-based systems, which means the amount of data is inherently larger, which in turn means it’ll cost you a lot more for central processing unit (CPU) and memory usage, usually to the point that you have to build custom servers to handle the load.
I don’t doubt that some smart people out there will provide cases where REST shines; they’ll showcase their homemade REST-based protocol, allowing to discover and do CRUD operation on arbitrary object trees, thanks to hyperlinks; they’ll explain how the REST design is so brilliant, that I’ve just not read enough articles and dissertations about its concepts.