Created by: Florian Kroessbacher on 21-02-2013 03:04:27 AM Hy out there.
We are Using AXL to update our Application User. The Code is working, but sometimes i got this Error Message
We are trying to update the APPUser with about 6800 Device's. Between each Update of an AppUser we are waiting for one minute to do the next. What can i do to make the Update always run without an Error. Maybe there is somebody out there to help me Thnxs Florian Error Message i See: ########################################################################################################## 2013-02-20 23:15:14,068 INFO [http-8443-29] servletRouters.AXLAlpha - Going to axis---> 2013-02-20 23:15:33,751 ERROR [http-8443-29] axlapiservice.AXLAPIServiceSkeleton - com.cisco.www.axlapiservice.AXLAPIServiceSkeleton@1b4666 java.sql.SQLException: Could not open database table (informix.device). at com.informix.jdbc.IfxSqli.a(IfxSqli.java:3457) at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3774) at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2580) at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2496) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:1766) at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1704) at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1635) at com.informix.jdbc.IfxResultSet.a(IfxResultSet.java:206) at com.informix.jdbc.IfxStatement.executeQueryImpl(IfxStatement.java:1229) at com.informix.jdbc.IfxStatement.executeQuery(IfxStatement.java:219) at com.cisco.ccm.dbl.Connector.executeQuery(Connector.java:1036) at com.cisco.www.axlapiservice.UpdateAppUserHandler.updateAssociatedDevices(UpdateAppUserHandler.java:199) at com.cisco.www.axlapiservice.UpdateAppUserHandler.doUpdate(UpdateAppUserHandler.java:109) at com.cisco.www.axlapiservice.AXLAPIServiceSkeleton.updateAppUser(AXLAPIServiceSkeleton.java:4498) at com.cisco.www.axlapiservice.AXLAPIServiceMessageReceiverInOut.invokeBusinessLogic(AXLAPIServiceMessageReceiverInOut.java:2514) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at sun.reflect.GeneratedMethodAccessor3233.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:65) at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:80) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:294) at com.cisco.www.servletRouters.AXLAlpha.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185) at com.cisco.www.servletRouters.AXLFilter.doFilter(Unknown Source) at sun.reflect.GeneratedMethodAccessor322.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:243) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) Caused by: java.sql.SQLException: ISAM error: cannot allocate memory. at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:408) at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3779) ... 83 more 2013-02-20 23:15:33,753 INFO [http-8443-29] axlapiservice.AXLCallFlow - sqlString is : select name from typedberrors where enum=Could not open database table (informix.device). 2013-02-20 23:15:33,753 INFO [http-8443-29] axlapiservice.AXLCallFlow - errorCodeString is : Could not open database table (informix.device). 2013-02-20 23:15:33,756 ERROR [http-8443-29] axlapiservice.AXLCallFlow - com.cisco.www.axlapiservice.AXLAPIServiceSkeleton@1b4666 java.sql.SQLException: A syntax error has occurred. at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:408) at com.informix.jdbc.IfxSqli.a(IfxSqli.java:3461) at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3774) at com.informix.jdbc.IfxSqli.dispatchMsg(IfxSqli.java:2580) at com.informix.jdbc.IfxSqli.receiveMessage(IfxSqli.java:2496) at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1662) at com.informix.jdbc.IfxSqli.executeStatementQuery(IfxSqli.java:1635) at com.informix.jdbc.IfxResultSet.a(IfxResultSet.java:206) at com.informix.jdbc.IfxStatement.executeQueryImpl(IfxStatement.java:1229) at com.informix.jdbc.IfxStatement.executeQuery(IfxStatement.java:219) at com.cisco.ccm.dbl.Connector.executeQuery(Connector.java:1036) at com.cisco.www.axlapiservice.AXLCallFlow.getSOAPError(AXLCallFlow.java:111) at com.cisco.www.axlapiservice.AXLAPIServiceSkeleton.updateAppUser(AXLAPIServiceSkeleton.java:4504) at com.cisco.www.axlapiservice.AXLAPIServiceMessageReceiverInOut.invokeBusinessLogic(AXLAPIServiceMessageReceiverInOut.java:2514) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:100) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:176) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:275) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:131) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at sun.reflect.GeneratedMethodAccessor3233.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374) at org.apache.catalina.core.ApplicationDispatcher.access$000(ApplicationDispatcher.java:65) at org.apache.catalina.core.ApplicationDispatcher$PrivilegedForward.run(ApplicationDispatcher.java:80) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:294) at com.cisco.www.servletRouters.AXLAlpha.doPost(Unknown Source) at javax.servlet.http.HttpServlet.service(HttpServlet.java:637) at javax.servlet.http.HttpServlet.service(HttpServlet.java:717) at sun.reflect.GeneratedMethodAccessor121.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:162) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:283) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185) at com.cisco.www.servletRouters.AXLFilter.doFilter(Unknown Source) at sun.reflect.GeneratedMethodAccessor322.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:269) at java.security.AccessController.doPrivileged(Native Method) at javax.security.auth.Subject.doAsPrivileged(Subject.java:517) at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:301) at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:243) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230) at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:56) at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:189) at java.security.AccessController.doPrivileged(Native Method) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:185) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:555) at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:394) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) Caused by: java.sql.SQLException at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:408) at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3779) ... 81 more 2013-02-20 23:15:33,757 INFO [http-8443-29] axlapiservice.AXLCallFlow - Exception occured while querying the database : java.sql.SQLException: Could not open database table (informix.device). 2013-02-20 23:15:33,758 INFO [http-8443-29] servletRouters.AXLAlpha - Request processed by AXIS 2013-02-20 23:15:33,758 INFO [http-8443-29] servletRouters.AXLFilter - <?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>Could not open database table (informix.device).</faultstring><detail><axlError><axlcode>-242</axlcode><axlmessage>Could not open database table (informix.device).</axlmessage><request>updateAppUser</request></axlError></detail></soapenv:Fault></soapenv:Body></soapenv:Envelope> 2013-02-20 23:15:33,759 INFO [http-8443-29] servletRouters.AXLFilter - Request 1361259477167 was process in 19819ms ##########################################################################################################
Subject: RE: Problem with updateAppUser Replied by: Geoffrey Carman on 21-02-2013 04:41:10 AM The key part of that error is the 'Caused By' which snipped out shows: Caused by: java.sql.SQLException: ISAM error: cannot allocate memory. at com.informix.util.IfxErrMsg.getSQLException(IfxErrMsg.java:408) at com.informix.jdbc.IfxSqli.E(IfxSqli.java:3779) ... 83 more Your Informix instance ran out of memory? I have no clue how to to the DB but that seems the next step.
Subject: RE: Problem with updateAppUser Replied by: David Staudt on 21-02-2013 02:24:50 PM For something like this (huge scale operations), I would recommend investigating <executeSqlUpdate>, as in addition to errors like this AXL has throttling mechanisms that will kick in when data sets become gigantic. Via a SQL query, you can add/remove device associations one at a time, or at least more efficiently in bulk (for example 100 at a time.) Check the Data Dictionary for your version of UCM for definitions of the tables/fields/relationships in the UCM database, the table you will likely want to manipulate is 'applicationuserdevicemap'. Assuming you already know the user's and device's primary keys (UUIDs) the request might look something like (untested <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns="http://www.cisco.com/AXL/API/7.1"> <soapenv:Header/> <soapenv:Body> <ns:executeSQLUpdate sequence="1"> <sql>INSERT INTO applicationuserdevicemap (description,fkapplicationuser,fkdevice,tkuserassociation) VALUES ("some description',deviceUUID,appuserUUID,1)</sql> </ns:executeSQLUpdate> </soapenv:Body> </soapenv:Envelope> Where tkuserassociation of '1' means a regular CTI controlled device (see the 'typeuserassociation' table). Informix syntax guide: http://publib.boulder.ibm.com/infocenter/idshelp/v10/topic/com.ibm.sqls.doc/sqls548.htm
Subject: RE: Problem with updateAppUser Replied by: darrell breyer on 21-02-2013 02:30:48 PM That is good to know! The business need is to allow users to update their pins via a .net page on our internal portal. Don't anticipate large scale submissions but you never know in the future. Have you had any experience with Extension mobility? I need to update that pin as well. Thanks in advance Darrell
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: