DocumentsListAPIについて質問があります。
内部システムではDocsapiを使用しています。そのシステムはWebLogic(Oracle)を使用します。
Docs apiは、create、listing、ectなどの基本的な機能について非常にうまく機能しています。
ただし、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; overlay: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)at com.google.gdata.client.http.GoogleGDataRequest.handleErrorResponse(GoogleGDataRequest.java:564)at com.google.gdata.client .http.HttpGDataRequest.checkResponse(HttpGDataRequest.java:560)at com.google.gdata.client.http.HttpGDataRequest.execute(HttpGDataRequest.java:538)at com.google.gdata.client.http.GoogleGDataRequest.execute(GoogleGDataRequest .java:536)at com.google.gdata.client.media.MediaService.createResumableUploadSession(MediaService.java:630)at com.google.gdata.client.media.ResumableGDataFileUploader $ Builder.build(ResumableGDataFileUploader.java:250)at com.posco.google.documents.v3.DocumentsCore.uploadGoogleDocumentFile(DocumentsCore.java: