http://www.perlmonks.org?node_id=549931


in reply to Soap::Lite Authentication

The most important thing here is that you're not checking $@. Using eval and then throwing away $@ means you've lost the most important clue as to what's going on!

It looks like the service is not using basic authentication, but Soap Header authentication.

I think the code is going to look something like this:

use SOAP::Lite; use strict; my $service = SOAP::Lite -> service('http://server/GetData.asmx?WSDL'); my $AuthHeader = SOAP::Header->new( name =>'AuthenticationHeader', attr => { xmlns => "http://www.server.com/" }, value => {username => 'user', password => 'pass' }, ); my $result = $service->GetIt($AuthHeader);
Without seeing the WSDL, I can't be sure--not that I'm a SOAP expert.

Replies are listed 'Best First'.
Re^2: Soap::Lite Authentication
by Anonymous Monk on Jul 01, 2012 at 04:40 UTC
    Hi, If i want to pass both Header and body to an webservice how do i do that.

      Odd question since that is what all the SOAP:: modules are there to do, pass both header and body ... a proper SOAP request, so you don't have to reinvent any wheels. Use SOAP::Simple or its daddy XML::Compile