03-04-2015 10:22 AM
I have constructed a SOAP request to get the status of one phone (envelope below). However, it appears that my SelectItems/Item criteria is being ignored and I'm just getting a random response from the RISPORT service. As you can see below, my request asks for info on phone SEPC8F9F9D6D6B5 and the response contains info on phone SEP0004F2EEB7D0. I must be misunderstanding the <soap:Item> criteria specification - can someone please point me in the right direction?
Request:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soap="http://schemas.cisco.com/ast/soap">
<soapenv:Header/>
<soapenv:Body>
<soap:selectCmDevice>
<soap:StateInfo></soap:StateInfo>
<soap:CmSelectionCriteria>
<soap:MaxReturnedDevices>1</soap:MaxReturnedDevices>
<soap:DeviceClass>Phone</soap:DeviceClass>
<soap:Model>255</soap:Model>
<soap:Status>Registered</soap:Status>
<soap:NodeName>CUCM04</soap:NodeName>
<soap:SelectBy>Name</soap:SelectBy>
<soap:SelectItems>
<soap:item>
<soap:Item>SEPC8F9F9D6D6B5</soap:Item>
</soap:item>
</soap:SelectItems>
<soap:Protocol>Any</soap:Protocol>
<soap:DownloadStatus>Any</soap:DownloadStatus>
</soap:CmSelectionCriteria>
</soap:selectCmDevice>
</soapenv:Body>
</soapenv:Envelope>
Response:
soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<ns1:selectCmDeviceResponse xmlns:ns1="http://schemas.cisco.com/ast/soap">
<ns1:selectCmDeviceReturn>
<ns1:SelectCmDeviceResult>
<ns1:TotalDevicesFound>1</ns1:TotalDevicesFound>
<ns1:CmNodes>
<ns1:item>
<ns1:ReturnCode>Ok</ns1:ReturnCode>
<ns1:Name>10.129.0.13</ns1:Name>
<ns1:NoChange>false</ns1:NoChange>
<ns1:CmDevices>
<ns1:Name>SEP0004F2EEB7D0</ns1:Name>
<ns1:DirNumber>82294-Registered</ns1:DirNumber>
<ns1:DeviceClass>Phone</ns1:DeviceClass>
<ns1:Model>431</ns1:Model>
<ns1:Product>330</ns1:Product>
<ns1:BoxProduct>0</ns1:BoxProduct>
<ns1:Httpd>Yes</ns1:Httpd>
<ns1:RegistrationAttempts>0</ns1:RegistrationAttempts>
<ns1:IsCtiControllable>true</ns1:IsCtiControllable>
<ns1:LoginUserId xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:Status>Registered</ns1:Status>
<ns1:StatusReason>0</ns1:StatusReason>
<ns1:PerfMonObject>2</ns1:PerfMonObject>
<ns1:DChannel>0</ns1:DChannel>
<ns1:Description>Gordon Palmer- OIT A306 Conference</ns1:Description>
<ns1:H323Trunk>
<ns1:ConfigName xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:TechPrefix xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:Zone xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:RemoteCmServer1 xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:RemoteCmServer2 xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:RemoteCmServer3 xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:AltGkList xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:ActiveGk xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:CallSignalAddr xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:RasAddr xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
</ns1:H323Trunk>
<ns1:TimeStamp>1423154357</ns1:TimeStamp>
<ns1:Protocol>SCCP</ns1:Protocol>
<ns1:NumOfLines>1</ns1:NumOfLines>
<ns1:LinesStatus>
<ns1:item>
<ns1:DirectoryNumber>82294</ns1:DirectoryNumber>
<ns1:Status>Registered</ns1:Status>
</ns1:item>
</ns1:LinesStatus>
<ns1:ActiveLoadID>apps37sccp.1-4-4-0</ns1:ActiveLoadID>
<ns1:InactiveLoadID xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:DownloadStatus>Unknown</ns1:DownloadStatus>
<ns1:DownloadFailureReason xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:DownloadServer xsi:nil="1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>
<ns1:IPAddress>
<ns1:item>
<ns1:IP>10.132.24.183</ns1:IP>
<ns1:IPAddrType>ipv4</ns1:IPAddrType>
<ns1:Attribute>AdministrativeAndSignaling</ns1:Attribute>
</ns1:item>
</ns1:IPAddress>
</ns1:item>
</ns1:CmNodes>
</ns1:SelectCmDeviceResult>
<ns1:StateInfo><StateInfo><Node Name="CUCM04" SubsystemStartTime="1415940819" StateId="10806" TotalItemsFound="535" TotalItemsReturned="1"/></StateInfo></ns1:StateInfo>
</ns1:selectCmDeviceReturn>
</ns1:selectCmDeviceResponse>
</soapenv:Body>
</soapenv:Envelope>
03-04-2015 11:06 AM
The following request seems to work for me:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap="http://schemas.cisco.com/ast/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<soapenv:Body>
<soap:SelectCmDevice soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<StateInfo xsi:type="xsd:string"></StateInfo>
<CmSelectionCriteria xsi:type="soap:CmSelectionCriteria">
<MaxReturnedDevices xsi:type="xsd:unsignedInt">1</MaxReturnedDevices>
<Class xsi:type="xsd:string">Phone</Class>
<Model xsi:type="xsd:string">255</Model>
<Status xsi:type="xsd:string">Registered</Status>
<NodeName xsi:type="xsd:string">DS-UCM105</NodeName>
<SelectBy xsi:type="xsd:string">Name</SelectBy>
<SelectItems xsi:type="soap:SelectItems" soapenc:arrayType="soap:SelectItem[1]">
<item>
<Item>IPCMRAEU5UCM5X7</Item>
</item>
</SelectItems>
</CmSelectionCriteria>
</soap:SelectCmDevice>
</soapenv:Body>
</soapenv:Envelope>
I suspect if you remove the restriction to return only 1 result, you may find that a bunch of results get returned, suggesting that the <SelectItems> array is somehow getting ignored. Note that the 'SelectItem[1]' portion of the <SelectItems> portion is important, as it indicates how many select items the request is sending.
03-04-2015 01:04 PM
Interesting - when I send your message (substituting my own node name and phone name of course) I get the following:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server</faultcode>
<faultstring>org.apache.axis2.databinding.ADBException: Unexpected subelement StateInfo</faultstring>
<detail/>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>
I'm not a soap expert, and namespaces always confuse me. Any suggestions?
03-04-2015 02:25 PM
What version of UCM are you using this with?
03-04-2015 02:26 PM
Version 9.1.2
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide