1

我对文档列表 API 有疑问。

我们在内部系统中使用 Docs api。该系统使用 WebLogic(Oracle)。

Docs api 在创建、列表等基本功能方面运行良好。

但是文件上传功能在 webLogic 中存在一些问题。

其他环境没有问题。(我们在Tomcat & Jave 测试过)。

这是我的来源和错误日志。

** 资源 **

private DocumentListEntry uploadGoogleDocumentFile(String url,
      String file, DocsUploadProgressListener listener, int progressUpdateInterval)
      throws IOException, ServiceException, InterruptedException {

    // Pool for handling concurrent upload tasks
    ExecutorService executor =  Executors.newFixedThreadPool(MAX_CONCURRENT_UPLOADS);

    File f = new File(file);
    MediaFileSource mediaFile = getMediaFileSource(file);

    mediaFile.setContentLength(f.length());

    ResumableGDataFileUploader uploader = new ResumableGDataFileUploader.Builder(service, new URL(url), mediaFile, null)
    .title(mediaFile.getName())
    .chunkSize(DEFAULT_CHUNK_SIZE).executor(executor)
    .trackProgress(listener, progressUpdateInterval)
    .build(); 

        uploader.addHeader("Content-Length", f.length()+"");
    uploader.start(); <-- error point

    // Wait for completion.
    listener.await();

    // Thread clean up.
    executor.shutdownNow();
    executor.awaitTermination(Long.MAX_VALUE, TimeUnit.DAYS);

    if(uploader.isDone())
        return uploader.getResponse(DocumentListEntry.class);
    else
        return null;

}

** 错误信息 **

<html lang=en>

错误 411(需要长度)!!1 {margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body {margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px} > body{background:url(//www.google.com/images/errors/robot.png) 100 % 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max -width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}

411.那?셲 一个错误。

POST 请求需要一个Content-length标题。那?我们所知道的。在 com.google.gdata.client.http.HttpGDataRequest.handleErrorResponse(HttpGDataRequest.java:632) 在 com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:564) 在 com.google.gdata.client .http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:560) 在 com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:538) 在 com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest .java:536) 在 com.google.gdata.client.media.MediaService.createResumableUploadSession(MediaService.java:630) 在 com.google.gdata.client.media.ResumableGDataFileUploader$Builder.build(ResumableGDataFileUploader.java:250) 在com.posco.google.documents.v3.DocumentsCore.uploadGoogleDocumentFile(DocumentsCore.java:

4

0 回答 0