Administration XML Developer Forums

« Back to Administration XML Questions

Cannot insert a null into column (speeddial.label). (UCM 8.5)

Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
I am getting the following error when trying to create phones or device profiles with empty speed dial labels on an 8.4 UCM: "Cannot insert a null into column (speeddial.label)." It seems like a bug, since this has worked in previous versions and possible from the admin web GUI. I cannot find a place to report this as a bug so I'm posting here.
 
Example AXL SOAP (Creating a device profile):

---[HTTP request]---
SOAPAction: "CUCMB ver=8.5"
Accept: text/xml, multipart/related, text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
Content-Type: text/xml;charset="utf-8"
 
<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:addDeviceProfile xmlns:ns2="http://www.cisco.com/AXL/API/8.5">
<deviceProfile>
<name>DP 7960 NO LABEL</name>
<product>Cisco 7960</product>
<class>Device Profile</class>
<protocol>SCCP</protocol>
<mlppDomainId>-1</mlppDomainId>
<mlppIndicationStatus>Default</mlppIndicationStatus>
<preemption>Default</preemption>
<lines/>
<phoneTemplateName>Standard 7960 SCCP</phoneTemplateName>
<speeddials>
<speeddial>
<dirn>123124</dirn>
<label></label>
<index>2</index>
</speeddial>
</speeddials>
<userlocale></userlocale>
<ignorePresentationIndicators>false</ignorePresentationIndicators>
<softkeyTemplateName></softkeyTemplateName>
<services/>
</deviceProfile>
</ns2:addDeviceProfile>
</S:Body>
</S:Envelope>

 
Yields the following response:

 
---[HTTP response 500]---
HTTP/1.1 500 Internal Server Error
 
<?xml version='1.0' encoding='utf-8'?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Client</faultcode>
<faultstring>Cannot insert a null into column (speeddial.label).</faultstring>
<detail>
<axlError>
<axlcode>-391</axlcode>
<axlmessage>Cannot insert a null into column (speeddial.label).</axlmessage>
<request>addDeviceProfile</request>
</axlError>
</detail>
</soapenv:Fault>
</soapenv:Body>
</soapenv:Envelope>

 
If this is a bug, how do I submit it to an issue tracker?
If this is not a bug, how do I go about setting empty labels on speed dials?
 
Thanks,
Petter

I found a way to get this to work. To set speed dial labels to empty you can omit the label tag from the speed dial entirely. The soap envelope should look like the following:

<?xml version="1.0" ?>
<S:Envelope xmlns:S="http://schemas.xmlsoap.org/soap/envelope/">
<S:Body>
<ns2:addDeviceProfile xmlns:ns2="http://www.cisco.com/AXL/API/8.5">
<deviceProfile>
<name>DP 7960 NO LABEL</name>
<product>Cisco 7960</product>
<class>Device Profile</class>
<protocol>SCCP</protocol>
<mlppDomainId>-1</mlppDomainId>
<mlppIndicationStatus>Default</mlppIndicationStatus>
<preemption>Default</preemption>
<lines/>
<phoneTemplateName>Standard 7960 SCCP</phoneTemplateName>
<speeddials>
<speeddial>
<dirn>123124</dirn>
<index>2</index>
</speeddial>
</speeddials>
<userlocale></userlocale>
<ignorePresentationIndicators>false</ignorePresentationIndicators>
<softkeyTemplateName></softkeyTemplateName>
<services/>
</deviceProfile>
</ns2:addDeviceProfile>
</S:Body>
</S:Envelope>

Hi
 
I am working on version 7
I followed your changes i.e. removed Label but i am still getting the same error.
Infact when I remove <dirn> tag then it shows no error but the changes are not reflected in CUCM web portal
 
here is what i have written:
 

string soap = "<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" ";
                soap += "xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">";
 
                soap += "<SOAP-ENV:Body>";
                soap += "<axl:updatePhone xmlns:axl=\"http://www.cisco.com/AXL/API/7.0\">";
                soap += "<name>";
                soap += "SEP3212";
                soap += "</name>";
                soap += "<speeddials>";
                soap += "<speeddial>";
                soap += "<dirn>";
                soap += "3212";
                soap += "</dirn>";
                soap += "<label>";
                soap += "rush";
                soap += "</label>";
                soap += "<asciiLabel>";
                soap += "7";
                soap += "</asciiLabel>";
                soap += "</speeddial>";
                soap += "</speeddials>";
                soap += "</axl:updatePhone>";
                soap += "</SOAP-ENV:Body>";
                soap += "</SOAP-ENV:Envelope>";
 
                Console.Write("getting version");
                string version = SoapVersion(soap);
                Console.Write(version);

 
Any suggestions will be quite helpful
 
Thanks