Can't locate object method "request" via package "1" (perhaps you forgot to load "1"?) at /usr/local/share/perl/5.18.2/LWP/UserAgent.pm line 216. #### #!/usr/bin/env perl use strict; use warnings; use LWP::UserAgent; use Data::Dumper; my $ua = LWP::UserAgent->new; $ua->add_handler('request_send', \&pp_dump); $ua->post("http://google.com"); sub pp_dump { print Dumper @_; } #### #!/usr/bin/env perl use strict; use warnings; use 5.010; use SOAP::Lite; SOAP::Lite->import(+trace => 'all'); use Data::Dumper; my $client = SOAP::Lite->proxy($proxy) ->ns($namespace, 'foo') ->uri($uri) ->on_action(sub { sprintf '%s', $_[0] }) ->on_fault(sub { my($soap, $result) = @_; die ref $result ? "Fault Code: " . $result->faultcode . "\n" . "Fault String: " . $result->faultstring . "\n" : $soap->transport->status, "\n"; }); my $params = { foo => 'bar', biz => 'baz'}; # does not cause error # $client->transport->add_handler("request_prepare", \&pp_dump ); # causes error $client->transport->add_handler("request_send", \&pp_dump ); my $result = $client->call('my_api_method' => $params); sub pp_dump { print Dumper @_; }