#!/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";