Sorry I don't agree.
Firefox for example hides the protocol details. You don't need to know DNS, TCP/IP, HTTP to browse the web.
It's the same for SOAP. If with "hide the protocol details" you refer to this part of the post
"I got an error. Not a descriptive error, or an HTTP status code, or anything that could be used to track down the problem but a “SOAP Error.”"
you may not be aware that the SOAP specification has SOAP exceptions. And they are actually quite easy:
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Please specify your birth date</faultstring>
</soap:Fault>He just used a bad SOAP api that returned an useless error.
There are many other things about SOAP we can hate and that need to be fixed, but in this particular case SOAP is not at fault, and REST could very well be exactly as bad.
> Firefox for example hides the protocol details. You don't need to know DNS, TCP/IP, HTTP to browse the web.
I don't think that example supports your argument. Quite the reverse, in fact. Firefox doesn't hide that much of the details. You can still see the gory details of URLs and HTTP requests surfaced quite clearly, and the experience of using the web is that much richer if you know what they are and how to manipulate them. Firefox doesn't actively prevent you from doing so if you want to, which it would if it was trying to present a sealed abstraction.
As regards errors and error reporting, I don't particularly want to get into REST v SOAP, because that's tired ground that's been trodden a thousand times over. However, REST has an advantage over SOAP here in that it uses HTTP error codes. An app which returned a 200 response when it couldn't find something would never be described as RESTful, whereas a SOAP app can get away with anything as an error response. It's simply not possible for a REST API to be bad in that sense where it demonstrably is for SOAP.
Contrast with IEs 'friendly' error messages by default. Instead of an easily diagnosed 'page not found', or 'address not found', or 'server error' you get 'something went wrong' and then a list of always incorrect guesses as to what the problem might be and a confusing list of irrelevant things you can try to 'fix' the problem. I bet somebody got a bonus for that feature.
That said, SOAP really is more complex than it needs to be. What makes it worse the ironic name : "SIMPLE object access protocol".