Created by: Davide Fiumi on 29-07-2010 06:56:13 PM HI, i developed an xml service to intercom (multicast) form ccm 7 so, using an admin console and db, I create a lot of phone-groups where i insert phones. In this case i create a group with 30 devices. For avery device I query SOAP/RispPort to get registrationStatus and IpAddress registrStatus = risPort_QueryByPhoneName("getStatus",rs_ListGroupDevices("DeviceName"), callManagerIP, GIPFonoUser, GIPFonoPwd); thePhoneIP = risPort_QueryByPhoneName("getIPAddress",rs_ListGroupDevices("DeviceName"), callManager, GIPFonoUser, GIPFonoPwd); the function that i use is this: function risPort_QueryByPhoneName(action,phoneName, cm, cmUserID, cmPassword){ var authstring = text2base64(cmUserID + ":" + cmPassword); var xmlDoc = new ActiveXObject("msxml2.DOMDocument.3.0"); xmlDoc.async = false; var xmlhttp = new ActiveXObject("Msxml2.ServerXMLHTTP.3.0"); xmlhttp.setOption(2, 13056); var soaprequest; var queryResult; var objNodeList,objNode,index; soaprequest = '<?xml version=\"1.0\" encoding=\"utf-8\"?>'; soaprequest = soaprequest + '<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:soapenc=\"[url=http://schemas.xmlsoap.org/soap/encoding\">']http://schemas.xmlsoap.org/soap/encoding\">'; soaprequest = soaprequest + '<SOAP-ENV:Header/>'; soaprequest = soaprequest + '<SOAP-ENV:Body>'; soaprequest = soaprequest + '<SelectCmDevice sequence=\"123456\">'; soaprequest = soaprequest + '<CmSelectionCriteria>'; soaprequest = soaprequest + '<Class>Phone</Class>'; soaprequest = soaprequest + '<Model>255</Model>'; soaprequest = soaprequest + '<NodeName>' + cm + '</NodeName>'; soaprequest = soaprequest + '<SelectBy>Name</SelectBy>'; soaprequest = soaprequest + '<MaxReturnedDevices>10</MaxReturnedDevices>'; soaprequest = soaprequest + '<SelectItems soapenc:arrayType=\"SelectItems[1]\">'; soaprequest = soaprequest + '<Item>' + phoneName + '</Item>'; soaprequest = soaprequest + '</SelectItems>'; soaprequest = soaprequest + '</CmSelectionCriteria>'; soaprequest = soaprequest + '</SelectCmDevice>'; soaprequest = soaprequest + '</SOAP-ENV:Body>'; soaprequest = soaprequest + '</SOAP-ENV:Envelope>'; xmlhttp.open("POST", "https://" + cm + ":8443/realtimeservice/services/RisPort", false ); xmlhttp.setRequestHeader("Content-Type", "text/xml;charset=utf-8"); xmlhttp.setRequestHeader("Content-Length",soaprequest.length); xmlhttp.setRequestHeader("SOAPAction", "http://schemas.cisco.com/ast/soap/action/#RisPort#SelectCmDevice"); xmlhttp.setRequestHeader("Authorization", "Basic " + authstring); xmlDoc.loadXML(soaprequest); xmlhttp.send(xmlDoc); xmlDoc.loadXML(xmlhttp.responseText); switch(action){ case"getIPAddress": try{ queryResult = xmlDoc.selectSingleNode("//IpAddress").text; break; } catch(err){ queryResult = ""; break; } case"getStatus": try{ queryResult = xmlDoc.selectSingleNode("//Status").text; break; } catch(err){ queryResult = ""; break; } case"getModel": try{ queryResult = xmlDoc.selectSingleNode("//Model").text; break; } catch(err){ queryResult = ""; break; } case"getDescription": try{ queryResult = xmlDoc.selectSingleNode("//Description").text; break; } catch(err){ queryResult = ""; break; } } return queryResult; } the problem is that i can't receive response for more then 7 devices if i query only ip address i get more responses so i think that there is a limit to max query... Can you help me?
Subject: RE: SOAP RispPort - max query - ccm7 Replied by: David Staudt on 29-07-2010 09:44:07 PM True, there is a throttle limit on requests, I believe 15/minute by default. Note, you can request multiple device names (up to 200) per a single SelectCmDevice request.
Subject: RE: SOAP RispPort - max query - ccm7 Replied by: Davide Fiumi on 30-07-2010 07:16:57 AM
True, there is a throttle limit on requests, I believe 15/minute by default. Note, you can request multiple device names (up to 200) per a single SelectCmDevice request.
how can i solve my problem? i have to get ipaddress and registration status for every device. How can I modify my function?
Subject: RE: SOAP RispPort - max query - ccm7 Replied by: Srinivas Reddy on 15-01-2011 12:39:56 PM Hello, Did you get the solution for this, also can you tell me, how i can get the RISService.cs file? and also wsdl file for RisPort? Thanks for your immediate help!
True, there is a throttle limit on requests, I believe 15/minute by default. Note, you can request multiple device names (up to 200) per a single SelectCmDevice request.
how can i solve my problem? i have to get ipaddress and registration status for every device. How can I modify my function?
Find answers to your questions by entering keywords or phrases in the Search bar above. New here? Use these resources to familiarize yourself with the community: