GAE、サーバー側での永続化のためのオブジェクト化、および restlet フレームワークの組み合わせを使用して、安らかな Web サービスを作成しました。
新しいオブジェクトの配置、取得、リスト全体の取得など、すべてを機能させることができました... 私のアプリケーションは、GAE プラグインを使用して Eclipse でローカルに実行しているときに完全に動作します。
しかし、アプリを Google App Engine サーバーにデプロイした後、データを取得するときに EOFException が発生します。私が持っているクライアント側のコードは次のとおりです。
(安全のためにサーバー名は省略されています)
ClientResource con = new ClientResource("http://" + servername + "/sidin/event/1003");
con.setRequestEntityBuffering(true);
eventres = con.wrap(IEventResource.class);
ev = eventres.retrieve();
System.out.println("DONE getting event");
このコードはローカルの GAE インスタンスでは問題なく動作しますが、これを Google のサーバーにデプロイした後、次のエラーが発生します。
Unable to convert a [application/json,UTF-8] representation into an object of class be.ehb.iwt.sidin.appengine.core.Event
java.io.EOFException: No content to map to Object due to end of input
at org.codehaus.jackson.map.ObjectMapper._initForReading(ObjectMapper.java:2775)
at org.codehaus.jackson.map.ObjectMapper._readMapAndClose(ObjectMapper.java:2718)
at org.codehaus.jackson.map.ObjectMapper.readValue(ObjectMapper.java:1909)
at org.restlet.ext.jackson.JacksonRepresentation.getObject(JacksonRepresentation.java:137)
at org.restlet.ext.jackson.JacksonConverter.toObject(JacksonConverter.java:218)
at org.restlet.service.ConverterService.toObject(ConverterService.java:167)
at org.restlet.resource.Resource.toObject(Resource.java:828)
at org.restlet.engine.resource.ClientInvocationHandler.invoke(ClientInvocationHandler.java:240)
at $Proxy7.retrieve(Unknown Source)
at Main.main(Main.java:59)
どんな助けやアイデアも大歓迎です!