I am having SOAP-related WSDL flashbacks.
And on the server side, the WSDL was automatically generated from your code if you used .net, so every time you would update the API the WSDL was up to date.
All that created a lot of plumbing and chatty XML traffic behind the scene, so the underlying exchange isn't as neat as a REST API, but as long as you didn't have to deal with it directly it didn't really matter.