#!perl use strict; use SOAP::Lite; my $uri = "http://schemas.cisco.com/ast/soap"; my $CUCM = SOAP::Lite->uri($uri) ->proxy("loopback://"); $CUCM->outputxml(1); $CUCM->readable(1); $CUCM->envprefix('soapenv'); $CUCM->ns($uri,'soap'); $CUCM->autotype(0); my @items; for (6963..6965){ push @items,SOAP::Data->name( "item"=> \SOAP::Data->value( SOAP::Data->name("Item"=> $_) )); }; my $items = \SOAP::Data->value( @items ); my %select = ( "MaxReturnedDevices" => 1000, "DeviceClass" => 'Any', "Model" => 255, "Status" => 'Any', "NodeName" => '', "SelectBy" => 'DirNumber', "SelectItems" => $items, "Protocol" => 'Any', "DownloadStatus"=> 'Any' ); my $state = SOAP::Data->name('StateInfo',''); my $data = SOAP::Data->name("CMSelectionCriteria" => \%select); my $elem = SOAP::Data->type('data' => $data); my $response = $CUCM->selectCmDevice($state,$elem); open OUT,'>','soap.xml' or die "$!"; print OUT $response; close OUT; #### my $sql = "SELECT pkid, name, description FROM device WHERE name='SEP20370617E212'"; $response = $CUCM->executeSQLQuery( SOAP::Data->name('sql' => $sql) ); print $response;