#!/usr/bin/perl -- use strict; use warnings; BEGIN {warn scalar gmtime,"\n";} END {warn scalar gmtime,"\n";} #~ use SOAP::Lite 0.65 +trace => 'debug'; use SOAP::Lite 0.65 on_fault => sub { my $msg = "ERROR: "; my ($soap, $result) = @_; $msg .= ref $result ? $result->faultstring : $soap->transport->status; print STDERR "\tFault -> $msg\n"; }; my $soap = SOAP::Lite->uri("http://localhost/") ->proxy( 'http://localhost/blah/DummyService', timeout => 1 ); $soap->call( SOAP::Data->name('FooService'), SOAP::Data->name('FooVar')->value('$foo')->type('int'), ); __END__ $ perl test.pl Wed Aug 18 23:19:38 2010 Fault -> ERROR: 500 Can't connect to localhost:80 (connect: timeout) Wed Aug 18 23:19:39 2010