I'd recommend using
SOAP::WSDL because:
- it marshals complex types for you,
- it handles namespaces transparently,
- it easily works with .NET web-services, and
- it does caching for you (easily customisable)
It's a sub-class of
SOAP::Lite so you can still use parts of the lower-level API if necessary.
-David