# This should work, not sure. use SOAP::Lite on_fault => sub { my $msg = "ERROR: "; my ($soap, $result) = @_; $msg .= ref $result ? $result->faultstring : $soap->transport->status; print STDERR "\tFault -> $msg\n"; }; # This works! my $c = eval { SOAP::Lite->uri($uri) ->on_action(sub { join '', @_ }) ->proxy($proxy); }; # This is suspect. $c->transport->timeout(5); # This hangs for minutes. my $r = eval { $c->call( SOAP::Data->name('FooService'), SOAP::Data->name('FooVar')->value($foo)->type('int')); };