#!/usr/bin/perl -w use strict; use SOAP::Lite; use Data::Dumper; # uncomment the following to dump raw HTTP session to stderr #SOAP::Lite->import(+ trace => "debug"); # NetScaler SOAP API uses cookie-based authentication use HTTP::Cookies; # login credentials my $username = 'username'; my $password = 'password'; # non-HTTP debugging - if enabled, debug("foo") prints "foo" to stderr use constant DEBUG => 1 ; # enable/disable debugging statements sub debug { print STDERR "@_\n" if DEBUG; } # location of WSDL file and SOAP proxy my $ns_wsdl = 'file:./NSConfig.wsdl'; my $ns_proxy = 'http://10.10.10.254/soap/'; # OO approach - SOAP::Lite # # instantiate soap object my $soap = SOAP::Lite ->service("$ns_wsdl") ->proxy("$ns_proxy", cookie_jar => HTTP::Cookies->new(ignore_discard => 1)); # login my $login = $soap->login("$username", "$password") or die "login failure: $@\n"; # format of getnsversion() XML method: # # # # # # # # # # # # # # # # # my $version = $soap->getnsversion() or die "getnsversion failure: $@\n"; print "version: ", $version, "\n"; print "dumped version: ", Dumper($version), "\n";