03-12-2015 06:28 AM
Hello,
I'm trying to delete a softkey via SQL.
delete from softkeyset where pkid = '36b2c65e-f321-4bbe-851b-584ab2612efb';
Over the AXL I will just receive "Failure" as an error message.
The AXL Trace on the CUCM isn't really helping
2015-03-12 06:31:28,809 INFO [http-bio-443-exec-21] servletRouters.AXLAlpha - AXL REQUEST : delete from softkeyset where pkid = '36b2c65e-f321-4bbe-851b-584ab2612efb' 2015-03-12 06:31:28,810 DEBUG [http-bio-443-exec-21] servletRouters.AXLAlpha - Request processed by AXIS 2015-03-12 06:31:28,814 DEBUG [http-bio-443-exec-21] axlapiservice.Handler - dbConnector Initialization in handler.java 2015-03-12 06:31:28,814 DEBUG [http-bio-443-exec-21] axlapiservice.Axl - Connection given to current thread 2015-03-12 06:31:28,815 DEBUG [http-bio-443-exec-21] axlapiservice.Axl - Thread is same so connection is reused, name of thread : http-bio-443-exec-21 2015-03-12 06:31:28,816 DEBUG [http-bio-443-exec-21] axlapiservice.AXLCallFlow - In begin transaction of AXLCallflow and created pub connector 2015-03-12 06:31:28,816 DEBUG [http-bio-443-exec-21] axlapiservice.AXLAPIServiceSkeleton - In ExecuteSQLQueryResponseDocument 2015-03-12 06:31:28,816 DEBUG [http-bio-443-exec-21] axlapiservice.ExecuteSqlHandler - delete from softkeyset where pkid = '36b2c65e-f321-4bbe-851b-584ab2612efb' 2015-03-12 06:31:28,887 WARN [http-bio-443-exec-21] axlapiservice.ExecuteSqlHandler - java.sql.SQLException: -1 2015-03-12 06:31:28,888 ERROR [http-bio-443-exec-21] axlapiservice.AXLAPIServiceSkeleton - SQL EXCEPTION has occurred, will be sending you the exact error Info 2015-03-12 06:31:28,888 DEBUG [http-bio-443-exec-21] axlapiservice.Axl - Thread is same so connection is reused, name of thread : http-bio-443-exec-21 2015-03-12 06:31:28,892 DEBUG [http-bio-443-exec-21] axlapiservice.AXLCallFlow - In rollback transaction and created pub connector 2015-03-12 06:31:28,893 DEBUG [http-bio-443-exec-21] axlapiservice.Axl - Connection closed and hashmap entry removed in AXL.java closing connection 2015-03-12 06:31:28,893 DEBUG [http-bio-443-exec-21] axlapiservice.AXLCallFlow - Rollback transaction connector object closed 2015-03-12 06:31:28,894 DEBUG [http-bio-443-exec-21] axlapiservice.AXLCallFlow - In AXL CAll Flow class, method getSOAPError 2015-03-12 06:31:28,894 DEBUG [http-bio-443-exec-21] axlapiservice.AXLCallFlow - checking typeDBErrors for sql exception name 2015-03-12 06:31:28,903 DEBUG [http-bio-443-exec-21] axlapiservice.AXLCallFlow - Setting soap fault 2015-03-12 06:31:28,904 DEBUG [http-bio-443-exec-21] axlapiservice.AXLCallFlow - Setting soap fault2 2015-03-12 06:31:28,908 DEBUG [http-bio-443-exec-21] servletRouters.AXLAlpha - soapenv:ClientFailure-1FailureexecuteSQLUpdate2015-03-12 06:31:28,908 DEBUG [http-bio-443-exec-21] servletRouters.AXLAlpha - Finished processing request 2015-03-12 06:31:28,908 INFO [http-bio-443-exec-21] filters.TimingFilter - Request 1426070393579 was processed in 132ms
Has anyone an Idea about this?
Solved! Go to Solution.
03-12-2015 09:06 AM
A couple of thoughts:
- Check that the pkid you are trying to delete is actually an existing row pkid in the softkeyset table (sure you've already done this)
- The Data Dictionary mentions this restriction when deleting rows from softkeyset:
Mandatory Softkeys cannot be removed from a Call State (except when a Service is removed
from the softkey template).
- Not sure if removing softkeys from the built-in templates is allowed (are you doing this?)
- Perhaps executing the SQL from the CUCM command line ('run sql delete from softkeyset where pkid="uuid"') might give a more helpful error message
03-12-2015 08:13 AM
Make sure you are using <executeSqlQuery> for read-only SQL requests, and <executeSqlUpdate> for any write requests (like this 'delete' operation)
03-12-2015 08:21 AM
Thx for the reply.
I checked it again and it IS an executeSqlUpdate.
Here is the complete SOAP Request:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<executeSQLUpdate xmlns="http://www.cisco.com/AXL/API/10.5">
<sql xmlns="">delete from softkeyset where pkid = '36b2c65e-f321-4bbe-851b-584ab2612efb'</sql>
</executeSQLUpdate>
</soap:Body>
</soap:Envelope>
03-12-2015 09:06 AM
A couple of thoughts:
- Check that the pkid you are trying to delete is actually an existing row pkid in the softkeyset table (sure you've already done this)
- The Data Dictionary mentions this restriction when deleting rows from softkeyset:
Mandatory Softkeys cannot be removed from a Call State (except when a Service is removed
from the softkey template).
- Not sure if removing softkeys from the built-in templates is allowed (are you doing this?)
- Perhaps executing the SQL from the CUCM command line ('run sql delete from softkeyset where pkid="uuid"') might give a more helpful error message
03-13-2015 01:42 AM
- Perhaps executing the SQL from the CUCM command line ('run sql delete from softkeyset where pkid="uuid"') might give a more helpful error message
the result on the command line was "-1"
dstaudt wrote:
- The Data Dictionary mentions this restriction when deleting rows from softkeyset:
Mandatory Softkeys cannot be removed from a Call State (except when a Service is removed
from the softkey template).
That was the problem...
My first test was just a simple "Delete from softkeyset where fksoftkeytemplate = 'XXXXXXXXXX' and tkcallstate = 'X'"
this didn't work (with the error above) so I just grabbed a random guid and tried it also with it. And this guid was a mandatory field which leaded to my confusion because I just wanted to delete a single entry.
I wanted to remove everything and then add the softkeys one by one with insert statements. But I guess I have to play with update/insert/and delete.
Thanks for your help =)
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