You don't need XML::LibXML, as SOAP::Lite does the unpacking for you.
As for the WSDL, if you're only going to be calling this from SOAP::Lite, and will never need to use another language to access it, you can probably ignore that part, too. (SOAP::Lite will handle *most* things correctly when serializing, but if you have a string that looks like a number, it could flag it as an integer, and then strictly typed languages get really, really upset).
For the sample code, take a look at the SOAP::Lite cookbook. It covers all of your questions. (the webserver-less version is SOAP::Transport::HTTP::Daemon)