use SOAP::Lite +autodispatch => uri => 'http://super_secret.com/OO/Logger', proxy => 'http://super_secret.com/soap', on_fault => \&handle_error; my $logger = OO::Logger -> new("","","NO argument"); $logger -> debug("This is a debugggg...\n"); sub handle_error { print "SOAP error:\n"; my($soap, $res) = @_; die ref $res ? $res->faultstring : $soap->transport->status, "\n"; }