BEGIN { sub SOAP::Transport::HTTP::Client::get_basic_credentials { return 'username' => 'password'; } } #### $service = MyInterfaces::AccMgrWS::AccMgrWSSoap->new({proxy => [$url, keep_alive => 1]}); my @headers = ( SOAP::Header->name('username')->value($user), SOAP::Header->name('password')->value($pass), ); my $result = $service->GetSometing(undef, \@headers); #### sub GetSometing { my ($self, $body, $header) = @_; die "GetSometing must be called as object method (\$self is <$self>)" if not blessed($self); return $self->SUPER::call({ operation => 'GetSometing', soap_action => 'http://www.some.address/GetSometing', style => 'document', body => { 'use' => 'literal', namespace => 'http://schemas.xmlsoap.org/wsdl/soap/', encodingStyle => '', parts => [qw( MyElements::GetSometing )], }, header => { }, headerfault => { } }, $body, $header); }