I am trying to pull history data for our meetings, but find it frequently returns with a SQL Exception or times out before completing. I know I am using the correct Partner ID and Site ID as I use it for other calls that work correctly. What would be causing errors such as these?
<?xml version="1.0" encoding="utf-8"?> <serv:message xmlns:history="http://www.webex.com/schemas/2002/06/service/history" xmlns:site="http://www.webex.com/schemas/2002/06/service/site" xmlns:com="http://www.webex.com/schemas/2002/06/common" xmlns:att="http://www.webex.com/schemas/2002/06/service/attendee" xmlns:meet="http://www.webex.com/schemas/2002/06/service/meeting" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:use="http://www.webex.com/schemas/2002/06/service/user" xmlns:event="http://www.webex.com/schemas/2002/06/service/event" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ep="http://www.webex.com/schemas/2002/06/service/ep" xmlns:serv="http://www.webex.com/schemas/2002/06/service"> <serv:header> <serv:securityContext> <com:webExID>MYWEBEXID</com:webExID> <com:password>MYWEBEXPASSWORD</com:password> <com:siteID>MYSITEID</com:siteID> <com:partnerID>MYPARTNERID</com:partnerID> </serv:securityContext> </serv:header> <serv:body> <serv:bodyContent xsi:type="history:lstmeetingusageHistory"> <history:listControl> <serv:startFrom>1</serv:startFrom> <serv:maximumNum>500</serv:maximumNum> <serv:listMethod>OR</serv:listMethod> </history:listControl> <history:startTimeScope> <history:sessionStartTimeStart>9/1/2016 12:00:00 AM</history:sessionStartTimeStart> <history:sessionStartTimeEnd>9/30/2016 11:59:59 PM</history:sessionStartTimeEnd> </history:startTimeScope> <history:endTimeScope> <history:sessionEndTimeStart>9/1/2016 12:00:00 AM</history:sessionEndTimeStart> <history:sessionEndTimeEnd>9/30/2016 11:59:59 PM</history:sessionEndTimeEnd> </history:endTimeScope> </serv:bodyContent> </serv:body> </serv:message>
does it help if you reduce the maximumNum? There may be a specific record that is causing problems with invalid data, you may be able to narrow down which record it is by grabbing smaller chunks.
Changing the maximumNum didn't change anything for me. I dealt with invalid data in some of my recordings data so I definitely understand what you are suggesting.
I was just now able to get it to pull the month of September records without getting an error. I didn't change anything with my code from when it was failing prior.
Half the time it seems to timeout and the other half it throws a SQL Exception error. I'm attempting to build a monthly usage report, but I'm not currently feeling good about the reliability of the API call. Is there anything specific about the meeting usage tables that would cause delays creating the timeouts? I don't know what to think of the SQL Exceptions either.
try reducing the date range, instead of grabbing a full month try grabbing a week at a time.. You may have too much data and sometimes it's timing out depending on loads at the time.
Intermittent SQL Exceptions or timeouts are often attributed to queries that are too resource intensive.. I believe the services pull all the data you specify in the date range and then cache it for paging through.. if reducing page size did not help, reducing the date range should make the database queries much less work.