SOAP Request MaxReturnedDevices Issue

Version 1
    This document was generated from CDN thread

    Created by: DANIEL EDWARDS on 25-10-2008 02:36:30 AM
    I am trying to pull all phones currently on the a CUCM6 system via SOAP RisPort and the samples I found work like a champ. The only issue is that the examples cap the results to 200 results. No matter what I change this number too I only get the first 200 results. Needless to say I have clusters with more than 200 devices. Anyone have an idea of how to get more results?

    My SOAP Request is:
    strSoapRequest += "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">";
    strSoapRequest += "<soapenv:Body>";
    strSoapRequest += "<ns1:SelectCmDevice soapenv:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:ns1=\"http://schemas.cisco.com/ast/soap/\">";
    strSoapRequest += "<StateInfo xsi:type=\"xsd:string\"/>";
    strSoapRequest += "<CmSelectionCriteria href=\"#id0\"/>";
    strSoapRequest += "</ns1:SelectCmDevice>";
    strSoapRequest += "<multiRef id=\"id0\" soapenc:root=\"0\" soapenv:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xsi:type=\"ns2:CmSelectionCriteria\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\" xmlns:ns2=\"http://schemas.cisco.com/ast/soap/\">";
    strSoapRequest += "<MaxReturnedDevices xsi:type=\"xsd:unsignedInt\">5000</MaxReturnedDevices>";
    strSoapRequest += "<Class xsi:type=\"xsd:string\">Phone</Class>";
    strSoapRequest += "<Model xsi:type=\"xsd:unsignedInt\">255</Model>";
    strSoapRequest += "<NodeName xsi:type=\"xsd:string\" xsi:nil=\"true\"/>";
    strSoapRequest += "<SelectBy xsi:type=\"xsd:string\">Name</SelectBy>";
    strSoapRequest += "<SelectItems soapenc:arrayType=\"ns2:SelectItem[1]\" xsi:type=\"soapenc:Array\">";
    strSoapRequest += "<item href=\"#id1\"/>";
    strSoapRequest += "</SelectItems>";
    strSoapRequest += "</multiRef>";
    strSoapRequest += "<multiRef id=\"id1\" soapenc:root=\"0\" soapenv:encodingStyle=\"http://schemas.xmlsoap.org/soap/encoding/\" xsi:type=\"ns3:SelectItem\" xmlns:ns3=\"http://schemas.cisco.com/ast/soap/\" xmlns:soapenc=\"http://schemas.xmlsoap.org/soap/encoding/\">";
    strSoapRequest += "<Item xsi:type=\"xsd:string\">*</Item></multiRef>";
    strSoapRequest += "</soapenv:Body>";
    strSoapRequest += "</soapenv:Envelope>";

    Subject: Re: SOAP Request MaxReturnedDevices Issue
    Replied by: David Staudt on 25-10-2008 03:35:34 AM
    200 is the limit. In order to retrieve more, you will need to get a list of the possible devices say, (via AXL configuration API,) then submit 200 at a time via SelectCmDevice.

    Subject: Re: SOAP Request MaxReturnedDevices Issue
    Replied by: Stephan Steiner on 27-10-2008 08:57:57 AM
    Also, you might run into this later on: You may not get the same number of results than you queried for since RisPort never returns devices in status unknown - so if you need those, after you make the query you compare results and request and you know that the delta are the unknown ones.

    Subject: RE: Re: SOAP Request MaxReturnedDevices Issue
    Replied by: Adam Farmer on 03-07-2009 09:55:27 AM
    Hi. Do you know what AXL call is required in order to get a list of all possible devices so that i can then submit 200 at a time via SelectCMDevice?

    Subject: RE: Re: SOAP Request MaxReturnedDevices Issue
    Replied by: David Staudt on 03-07-2009 04:50:36 PM
    listPhoneByName with <searchString> being a wildcard '%' will return everything.  Take care with this query as the return object can be very large (for a large site) and could trigger AXL request size throttling.