Hi Doug,

Although I do not have experience with the AuthenticationException and
ResourceNotFoundException, I have noticed intermittent
UnknownError(1000) issues at a rate of maybe 1 for every 10,000
requests.  It might seem rare, but when making hundreds of thousands
of API calls, it was enough for me to code around it.  Not to mention,
it's good to have a workaround for those strange network errors that
always creep up when calling any service over the Internet.

In general, I wrapped all my Google API calls with a utility function
that will pause and retry a few times if there is a failure.
Unfortunately, I'm not much of a Java programmer, but I'm sure a
similar solution is possible for you.

Hope this helps,
Matt

On May 5, 9:18 am, "Julian (Google)" <[EMAIL PROTECTED]> wrote:
> Hi,
>
> The problem could be that you are creating too many threads and the
> Captcha or other errors show up.
>
> To help us troubleshoot, please submit a support request with
> information on how we can reproduce the problem. Instructions on how
> to submit a support request are in the domain account information
> section of the control panel.
>
> Julian
>
> On May 2, 9:58 am, piperspace <[EMAIL PROTECTED]> wrote:
>
> > Hi,
>
> > I wrote a Java App to synchronize an internal list of about 2,000 high
> > school students with Gmail.
>
> > I am now in the process of volume testing and I am experiencing
> > intermittent errors in the provisoning API.
>
> > I have seen three error types: UnknownError(1000),
> > AuthenticationException, and ResourceNotFoundException. See examples
> > below.
>
> > In each case my program is able to continue and subsequent service
> > requests complete OK.
>
> > The program authenticates in its main UI thread creating a UserEntry
> > object which is declared static. It then farms out the remaining work
> > to a single background thread which is passed a list of Accounts to be
> > created or suspended. For ease of testing I have also added a bit of
> > code that alternately suspends and then restores a single well known
> > user 1000 times in the background thread. In each case I get errors
> > after the thread has run for 10 minutes or longer but then it coninues
> > OK.
>
> > Can anyone offer any insight or assistance in tracking down why this
> > is happening and what I can do to avoid it?
>
> > Thanks,
>
> > -Doug Piper
>
> > -----------------------------------------------------------------------------------------------------------
> > INFO: Creating user 'ZZZLIANG4970'. Given Name: 'TENGDAN        '
> > Family Name: 'ZZZLIANG          '.
> > Apr 29, 2008 6:08:17 PM Goosync.Goosync forceUserToChangePassword
> > INFO: Requiring ZZZLIANG4970 to change password at next login.
> > Apr 29, 2008 6:08:18 PM Goosync.Goosync createUser
> > INFO: Creating user 'ZZZLIANG5201'. Given Name: 'CINDY          '
> > Family Name: 'ZZZLIANG          '.
> > Apr 29, 2008 6:08:20 PM Goosync.Goosync$Worker doCreates
> > SEVERE: null
> > UnknownError(1000):
> >  at
> > com.google.gdata.data.appsforyourdomain.AppsForYourDomainException.narrow(Unknown
> > Source)
> >  at
> > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.insert(Unknown
> > Source)
> >  at Goosync.Goosync.createUser(Goosync.java:1014)
> >  at Goosync.Goosync$Worker.doCreates(Goosync.java:1305)
> >  at Goosync.Goosync$Worker.doInBackground(Goosync.java:1229)
> >  at Goosync.Goosync$Worker.doInBackground(Goosync.java:1217)
> >  at javax.swing.SwingWorker$1.call(Unknown Source)
> >  at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
> >  at java.util.concurrent.FutureTask.run(Unknown Source)
> >  at javax.swing.SwingWorker.run(Unknown Source)
> >  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
> > Source)
> >  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> >  at java.lang.Thread.run(Unknown Source)
> > Apr 29, 2008 6:08:20 PM Goosync.Goosync createUser
> > INFO: Creating user 'ZZZLIANG7200'. Given Name: 'CARRIE         '
> > Family Name: 'ZZZLIANG          '.
> > Apr 29, 2008 6:08:24 PM Goosync.Goosync forceUserToChangePassword
> > INFO: Requiring ZZZLIANG7200 to change password at next login.
> > Apr 29, 2008 6:08:26 PM Goosync.Goosync createUser
> > INFO: Creating user 'ZZZLIANG7441'. Given Name: 'CAIJIAO        '
> > Family Name: 'ZZZLIANG
> > ---------------------------------------------------------------------------------------------------------------
> > Apr 30, 2008 10:10:29 AM Goosync.Goosync suspendUser
> > INFO: Suspending user 'ZZZZENG3854'.
> > Apr 30, 2008 10:10:33 AM Goosync.Goosync$Worker doSuspends
> > SEVERE: null
> > com.google.gdata.util.ServiceForbiddenException: You are not
> > authorized to access this API.
> > <HTML>
> > <HEAD>
> > <TITLE>You are not authorized to access this API.</TITLE>
> > </HEAD>
> > <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
> > <H1>You are not authorized to access this API.</H1>
> > <H2>Error 403</H2>
> > </BODY>
> > </HTML>
> >  at
> > com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(Unknown
> > Source)
> >  at
> > com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(Unknown
> > Source)
> >  at
> > com.google.gdata.client.http.HttpGDataRequest.checkResponse(Unknown
> > Source)
> >  at com.google.gdata.client.http.HttpGDataRequest.execute(Unknown
> > Source)
> >  at com.google.gdata.client.http.GoogleGDataRequest.execute(Unknown
> > Source)
> >  at com.google.gdata.client.Service.getEntry(Unknown Source)
> >  at com.google.gdata.client.GoogleService.getEntry(Unknown Source)
> >  at
> > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.getEntry(Unknown
> > Source)
> >  at com.google.gdata.client.Service.getEntry(Unknown Source)
> >  at
> > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.getEntry(Unknown
> > Source)
> >  at Goosync.Goosync.suspendUser(Goosync.java:1060)
> >  at Goosync.Goosync$Worker.doSuspends(Goosync.java:1345)
> >  at Goosync.Goosync$Worker.doInBackground(Goosync.java:1231)
> >  at Goosync.Goosync$Worker.doInBackground(Goosync.java:1217)
> >  at javax.swing.SwingWorker$1.call(Unknown Source)
> >  at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
> >  at java.util.concurrent.FutureTask.run(Unknown Source)
> >  at javax.swing.SwingWorker.run(Unknown Source)
> >  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
> > Source)
> >  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> >  at java.lang.Thread.run(Unknown Source)
> > Apr 30, 2008 10:10:33 AM Goosync.Goosync suspendUser
> > INFO: Suspending user 'ZZZZENG4215'.
> > Apr 30, 2008 10:10:35 AM Goosync.Goosync suspendUser
> > INFO: Suspending user 'ZZZZENG5457'.
> > Apr 30, 2008 10:10:37 AM Goosync.Goosync suspendUser
> > INFO: Suspending user 'ZZZZENG6073'.
> > Apr 30, 2008 10:10:39 AM Goosync.Goosync suspendUser
> > INFO: Suspending user 'ZZZZENG6844'.
> > Apr 30, 2008 10:10:42 AM Goosync.Goosync suspendUser
> > INFO: Suspending user 'ZZZZENG8204'.
> > Apr 30, 2008 10:10:47 AM Goosync.Goosync$Worker doSuspends
> > SEVERE: null
> > com.google.gdata.util.AuthenticationException: Internal exception
> > <HTML>
> > <HEAD>
> > <TITLE>Internal exception</TITLE>
> > </HEAD>
> > <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
> > <H1>Internal exception</H1>
> > <H2>Error 401</H2>
> > </BODY>
> > </HTML>
> >  at
> > com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(Unknown
> > Source)
> >  at
> > com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(Unknown
> > Source)
> >  at
> > com.google.gdata.client.http.HttpGDataRequest.checkResponse(Unknown
> > Source)
> >  at com.google.gdata.client.http.HttpGDataRequest.execute(Unknown
> > Source)
> >  at com.google.gdata.client.http.GoogleGDataRequest.execute(Unknown
> > Source)
> >  at com.google.gdata.client.Service.update(Unknown Source)
> >  at com.google.gdata.client.GoogleService.update(Unknown Source)
> >  at
> > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.update(Unknown
> > Source)
> >  at Goosync.Goosync.suspendUser(Goosync.java:1065)
> >  at Goosync.Goosync$Worker.doSuspends(Goosync.java:1345)
> >  at Goosync.Goosync$Worker.doInBackground(Goosync.java:1231)
> >  at Goosync.Goosync$Worker.doInBackground(Goosync.java:1217)
> >  at javax.swing.SwingWorker$1.call(Unknown Source)
> >  at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
> >  at java.util.concurrent.FutureTask.run(Unknown Source)
> >  at javax.swing.SwingWorker.run(Unknown Source)
> >  at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
> > Source)
> >  at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
> >  at java.lang.Thread.run(Unknown Source)
> > Apr 30, 2008 10:10:47 AM Goosync.Goosync suspendUser
> > INFO: Suspending user 'ZZZZENG9983'.
> > Apr 30, 2008 10:10:49 AM Goosync.Goosync suspendUser
> > INFO: Suspending user 'ZZZZHANG1767'.
> > Apr 30, 2008 10:10:51 AM Goosync.Goosync suspendUser
> > INFO: Suspending user 'ZZZZHANG2515'.
> > ------------------------------------------------------------------------------------------------------------------
> > INFO: Suspending user 'Zombie'.
> > May 1, 2008 5:19:48 PM Goosync.Goosync restoreUser
> > INFO: Restoring user 'Zombie'.
> > May 1, 2008 5:19:50 PM Goosync.Goosync suspendUser
> > INFO: Suspending user 'Zombie'.
> > May 1, 2008 5:19:54 PM Goosync.Goosync$Worker doDeletes
> > SEVERE: null
> > com.google.gdata.util.ResourceNotFoundException: Not Found
> > <HTML>
> > <HEAD>
> > <TITLE>Not Found</TITLE>
> > </HEAD>
> > <BODY BGCOLOR="#FFFFFF" TEXT="#000000">
> > <H1>Not Found</H1>
> > <H2>Error 404</H2>
> > </BODY>
> > </HTML>
> >         at
> > com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(Unknown
> > Source)
> >         at
> > com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(Unknown
> > Source)
> >         at
> > com.google.gdata.client.http.HttpGDataRequest.checkResponse(Unknown
> > Source)
> >         at
> > com.google.gdata.client.http.HttpGDataRequest.execute(Unknown Source)
> >         at
> > com.google.gdata.client.http.GoogleGDataRequest.execute(Unknown
> > Source)
> >         at com.google.gdata.client.Service.getEntry(Unknown Source)
> >         at com.google.gdata.client.GoogleService.getEntry(Unknown
> > Source)
> >         at
> > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.getEntry(Unknown
> > Source)
> >         at com.google.gdata.client.Service.getEntry(Unknown Source)
> >         at
> > com.google.gdata.client.appsforyourdomain.AppsForYourDomainService.getEntry(Unknown
> > Source)
> >         at Goosync.Goosync.suspendUser(Goosync.java:1072)
> >         at Goosync.Goosync$Worker.doDeletes(Goosync.java:1449)
> >         at Goosync.Goosync$Worker.doInBackground(Goosync.java:1300)
> >    
>
> ...
>
> read more »
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"Google Apps APIs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/google-apps-apis?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to