Other options also include HTTP authentication (where HTTP serves as the transport for SOAP - See the SOAP::Lite cookbook at
http://cookbook.soaplite.com/ for examples) and ticket-based authentication (see
http://guide.soaplite.com/ or
http://www.perl.com/pub/a/2001/04/24/soap.html). I have used this latter method previously in SOAP services that I have written.
perl -le "print unpack'N', pack'B32', '00000000000000000000001000000000'"