0

我有来自 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.

4

1 回答 1

0

原来这是一个已知问题。看这里

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

于 2012-06-22T05:14:07.990 回答