我对文档列表 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: