Restlet和GAE的奇怪行为

时间:2012-06-21 21:23:00

标签: google-app-engine restlet

我在Android客户端的Restlet中使用Google AppEngine获得了以下代码。

ClientResource clientResource = new ClientResource(RESTLET_TEST_URL);
ProductResource productResource = clientResource.wrap(ProductResource.class);
productResource.store(mProduct);
Status status = clientResource.getResponse().getStatus();
Toast.makeText(this, "Status: "+ status.getDescription(), Toast.LENGTH_SHORT).show();
clientResource.release();

.store()方法类似于PUT请求。奇怪的是,当我连接到开发服务器但是在实际的AppEngine站点上,没有任何反应。我只是得到Status: OK表示请求已经完成。

我无法排除故障,因为我只能在开发服务器中这样做,而且工作正常。

关于问题可能是什么或如何解决这个问题的任何想法?

作为参考,服务器端的代码是:

if (product != null ) {
    if (new DataStore().putToDataStore(product) ) {
    log.warning("Product written to datastore");
} else {
        log.warning("Product not found in datastore");
    }
}

这只是使用Objectify对数据存储区的简单写入。

1 个答案:

答案 0 :(得分:0)

原来这是一个已知问题。见here

解决方案是使用clientResource.setEntityBuffering(true);。但请注意,此方法仅适用于Android客户端的候选版本,而不适用于稳定版本。