2011-10-04 101 views
1

我使用GData API的DocumentListEntry的updateMedia(boolean)方法。 有时候这个命令有效,但在大多数情况下抛出异常。在使用“DocumentListEntry.updateMedia()”方法时遇到GData API问题

代码(documentList是DocumentListEntry对象):

public void flush() throws IOException { 
    try { 
     if(((ByteArrayOutputStream)os).size()>0){ 
      documentList.setMediaSource(
        new MediaByteArraySource(((ByteArrayOutputStream)os).toByteArray(), mimeType)); 
      documentList.updateMedia(true); 
      ((ByteArrayOutputStream)os).reset(); 
     } 
    } catch (ServiceException ex) { 
     throw new IOException(ex); 
    } 
} 

命令 “documentList.updateMedia(真)”;抛出这个例外:

java.lang.reflect.InvocationTargetException 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:216) 
     at org.apache.commons.beanutils.MethodUtils.invokeMethod(MethodUtils.java:162) 
     at com.ralph.agente.Agent.run(Agent.java:191) 
     at com.ralph.agente.Agent.run(Agent.java:134) 
     at company.google.conexao.RecebeObjetoThread.geraSinaisVitaisAgent(RecebeObjetoThread.java:61) 
     at company.google.conexao.RecebeObjetoThread.run(RecebeObjetoThread.java:133) 
     at java.lang.Thread.run(Thread.java:662) 
Caused by: java.io.IOException: com.google.gdata.util.InvalidEntryException: Unexpected resource version ID 
<errors xmlns='http://schemas.google.com/g/2005'><error><domain>GData</domain><code>invalidResourceVersion</code><internalReason>Unexpected resource version ID</internalReason></error></errors> 

     at com.company.google.io.GoogleDocsOutputStream.flush(GoogleDocsOutputStream.java:142) 
     at com.company.google.io.GoogleDocsOutputStream.close(GoogleDocsOutputStream.java:148) 
     at br.edu.company.google.processo.GeraSinaisVitaisAgent.bodyAgent(GeraSinaisVitaisAgent.java:133) 
     ... 11 more 
Caused by: com.google.gdata.util.InvalidEntryException: Unexpected resource version ID 
<errors xmlns='http://schemas.google.com/g/2005'><error><domain>GData</domain><code>invalidResourceVersion</code><internalReason>Unexpected resource version ID</internalReason></error></errors> 

     at com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:594) 
     at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:563) 
     at com.google.gdata.client.http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:552) 
     at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:530) 
     at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest.java:535) 
     at com.google.gdata.client.Service.update(Service.java:1563) 
     at com.google.gdata.client.Service.update(Service.java:1530) 
     at com.google.gdata.client.GoogleService.update(GoogleService.java:583) 
     at com.google.gdata.client.media.MediaService.update(MediaService.java:484) 
     at com.company.google.io.GoogleDocsOutputStream.flush(GoogleDocsOutputStream.java:137) 

有人可以帮助我吗?

+0

Correcttion 正确的堆栈跟踪是这样的: –

回答