Já trabalhei muito com SOAP na época em que estava no auge do hype. Tudo tinha que ser feito com "web services" (<sarcasm>mais ou menos o que ocorre com "API REST + JSON" hoje em dia</sarcasm>).
E vou te falar que não gostei muito não. Tudo era desnecessariamente complicado, pesado, com trocentas ferramentas/libs proprietárias, muitas incompatíveis entre si. Graças a todos os deuses isso caiu em desuso, e hoje a adoção de API's RESTful - apesar de também não ser perfeito - é algo que eliminou, ou pelo menos minimizou bastante, esse problemas.
Só pra citar alguns exemplos, olha o trabalho que dava apenas para ver o XML sendo gerado. E tem também este artigo, que tem um tom de sátira, mas com muitas verdades escancaradas (como apontar para o fato de que "S significa simples", mas era extremamente complexo).
Dependendo do volume, os XML's gerados podiam ficar tão grandes, ou a quantidade deles podia levar a processamentos tão demorados, que alguns fornecedores chegaram a oferecer hardware especializado em parsing de XML. Sério.
Uma simples autenticação exigia várias linhas de código só pra adicionar um header. Sendo que, por usar HTTP, ele poderia muito bem usar maneiras mais simples.
Acho que a ideia até era boa, mas a implementação não agradou e muita gente foi percebendo que toda aquela complexidade nem sempre se justificava. Além de ter muitas promessas não cumpridas (UDDI, alguém?) :-)
Aliás, essa é uma bronca que tenho da W3C, muitas vezes eles complicam sem necessidade. Tem até esta sátira aqui sobre isso.
Enfim, minha experiência com SOAP não foi boa. Ainda bem que surgiu o REST, que é bem mais simples e tranquilo de implementar. Como já disse, não é perfeito, mas eliminou muitos dos problemas que citei.