2011/03/21

【GAE】allowTruncate() の効果なし! アメブロRSS は too large

 
Google App Engine を利用し ameblo の RSS を軽量化した上で提供する
サービスを作ろうとしたのですが、正攻法では何をやってもダメ。
 
通信オプションには、
 
FetchOptions.Builder.allowTruncate()
 
を利用すれば、大きすぎるレスポンスの切捨てが有効になるハズなのですが、
有効にならなかった
 
仕方なくAPI リファレンスを確認した所、
 
◆ResponseTooLargeException -

レスポンスが大きすぎてリモート サーバーから抽出することができないこともあります。このような場合は、レスポンスの切り捨てが有効な状態でも例外がスローされます。
 
なんてこった。これは使えない。
 
 
fetch() では無く fetchAsync() を利用したのですが、実際に発生した例外は
 
java.util.concurrent.ExecutionException
 
でした。上記の例外オブジェクトをデバッグ出力すると、
 
com.google.appengine.api.urlfetch.ResponseTooLargeException
 
が確認できる。
 
 
AsyncHttpClent も 500 エラーでうまくいかないし、socket 通信も出来ないので、
ameblo の RSS を Google App Engine から取得するのは無理かもしれない。
 
どうすっかなー。

0 件のコメント:

コメントを投稿