my $call = $wsdl->compileClient($operation , transport_hook => \&basic_auth ); sub basic_auth($$) { my ($request, $trace) = @_; # Encode userid and password my $authorization = 'Basic '. encode_base64 "$user:$password"; # Modify http header to include basic authorisation $request->header(Authorization => $authorization ); my $ua = $trace->{user_agent}; $ua->request($request); }