I have observed the quality and coverage of documentation on SOAP (in general for Perl) and SOAP::Lite to be poor...
but it's not like I can complain, because I haven't done anything to help fix that problem :)
The cookbook examples in the SOAP::Lite documentation are acceptable for quick reference, but don't adequately explain what problems some of the examples solve.
I found that having a more general understanding the SOAP (protocol, encodings, document types, envelope parameters, headers, transports and attachments) to be beneficial.
When you've read as much as you can stomach about SOAP generally (I recommend the articles linked at
wikipedia) *then* look at the
SOAP::Lite documentation. You'll be able to understand the SOAP::Lite documentation more readily at that point.
On the server side, SOAP::Lite does nothing for you in terms of WSDL generation, so look at
Pod::WSDL, which will allow you to specify type, arity, collection and structure information that cannot be gleaned automatically from perl5 code. It even automatically turns your Perl classes (with appropriate POD) into complex type definitions which can be referenced in the WSDL-related POD of your service proper.
On the client side, look no further than
SOAP::WSDL. It immensely simplifies the construction of complex soap values (for the most part, it's automatic), and does a very good job of creating proxies for the methods exposed by a service.
Hope that helps.
-David