Beefy Boxes and Bandwidth Generously Provided by pair Networks
No such thing as a small change
 
PerlMonks  

Re: NTLM Authentication with SOAP::Lite not working

by Anonymous Monk
on Oct 28, 2008 at 13:38 UTC ( #719995=note: print w/ replies, xml ) Need Help??


in reply to NTLM Authentication with SOAP::Lite not working

LWP::Authen::Ntlm::authenticate: No username and password available from get_basic_credentials(). Returning unmodified response object
grep SOAP-Lite-0.710.08 credentials :
SOAP-Lite-0.710.08/examples/authentication.pl

#!perl -w #!d:\perl\bin\perl.exe # -- SOAP::Lite -- soaplite.com -- Copyright (C) 2001 Paul Kulchenko - +- use SOAP::Lite +autodispatch => uri => 'http://www.soaplite.com/My/Examples', proxy => 'http://localhost/', # proxy => 'http://localhost/cgi-bin/soap.cgi', # local CGI server # proxy => 'http://localhost/soap', # local mod_perl serve +r # proxy => 'https://localhost/soap', # local mod_perl SECUR +E server on_fault => sub { my($soap, $res) = @_; die ref $res ? $res->faultdetail : $soap->transport->status, "\n"; } ; sub SOAP::Transport::HTTP::Client::get_basic_credentials { return ('us +er' => 'password') }; print getStateName(1), "\n\n"; print getStateNames(12,24,26,13), "\n\n"; print getStateList([11,12,13,42])->[0], "\n\n"; print getStateStruct({item1 => 10, item2 => 4})->{item2}, "\n\n"; # OR if you have SOAP::Lite object you can do # $s->transport->credentials('host_port', 'realm', 'user' => 'password +'); # see LWP::UserAgent for difference and more documentation # OR add user and password to your URL as follows: # proxy => 'http://user:password@localhost/'
lib/SOAP/Schema.pod
lib/SOAP/Transport.pod


Comment on Re: NTLM Authentication with SOAP::Lite not working
Download Code
Re^2: NTLM Authentication with SOAP::Lite not working
by perlchild (Acolyte) on Oct 28, 2008 at 13:52 UTC

    Thank you so very much Anonymous Monk. I added that

    sub SOAP::Transport::HTTP::Client::get_basic_credentials { return ('user' => 'password') };

    line and now it works perfectly!! I gave you a positive vote. Thanks again!!!

      I'm not sure how overriding the get_basic_credentials method solves your problem, but it seems like a bad idea. You should read the LWP::Authen::Ntlm documentation, it includes a clear example of usage.

        Something like this should work
        use LWP::UserAgent; use LWP::Debug; use SOAP::Lite on_action => sub { "$_[0]$_[1]"; }; import SOAP::Data 'name', 'value'; our $sp_endpoint = 'http://sp.example.com/sites/mysite/_vti_bin/lists. +asmx'; our $sp_domain = 'sp.example.com:80'; our $sp_username = 'DOMAIN\username'; our $sp_password = 'xyz'; if ($debug) { LWP::Debug::level('+'); SOAP::Lite->import(+trace => 'all'); } my @ua_args = (keep_alive => 1); my @credentials = ($sp_domain, "", $sp_usernam, $sp_password); my $schema_ua = LWP::UserAgent->new(@ua_args); $schema_ua->credentials(@credentials); $soap = SOAP::Lite->proxy($sp_endpoint, @ua_args, credentials => \@cre +dentials); $soap->schema->useragent($schema_ua); $soap->uri("http://schemas.microsoft.com/sharepoint/soap/");

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://719995]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (6)
As of 2015-07-05 19:46 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (67 votes), past polls