use HTTP::Cookies (); use SOAP::Lite (); ## ...snip... ## create a cookie for authentication my $cookie_jar= HTTP::Cookies->new; $cookie_jar->set_cookie( 0, # cookie version key => 'value', # key and value '/', # path $host, # domain $port, # port ); ## create the request object my $request= SOAP::Lite ->uri($urn) ->proxy( "http://${host}:$port", cookie_jar => $cookie_jar, ); ## perform the request my $response= my_action( $request ); ## ...and check for failure die 'failure! ', $response->faultstring if $response->fault;