I have the exact same experience with SOAP::Lite and microsoft based SOAP webservices. Took quite a bit of hacking around to get things working using SOAP::Lite and the .NET webservice. Since then i have moved to using LWP::UserAgent and HTTP::Request to send templates processed by Template Toolkit, with great success. I even find it generally handles a higher frequency of SOAP calls.
Thankfully in the future our company is moving to more JSON/REST type api's. Lots of the newer frameworks (Like Mojolicous) support JSON out of the box, which is great!