use warnings; use SOAP::Lite + trace => 'debug'; use Data::Dumper; use MIME::Base64; my $cucmip = "10.10.100.1"; my $axl_port = "8443"; my $user = "ccm"; my $password = "password"; my $axltoolkit = "AXLAPI.wsdl"; my $cm; @ips = qw(10.10.100.1 10.10.100.2 10.10.100.3); my $res; foreach(@ips){ $cm = SOAP::Lite ->encodingStyle('') ->uri($axltoolkit) ->proxy("https://$_:$axl_port/axl/", timeout => 5); $cm->transport->http_request->header ( 'Authorization' => 'Basic ' . encode_base64("$user:$password", '')); #axl request my $test = new SOAP::Data(); $res = $cm->listPhoneByName($test->name("searchString" => "%")); unless ($res->fault) { print $res->valueof('//listPhoneByNameResponse/return/phone'); } else { print join ', ', "FAULTCODE: " . $res->faultcode, "FAULTSTRING: " . $res->faultstring; } }