我已经使用Google端点创建了一个方法并将其公开.我想要的只是从Google DataStore保存和检索数据.
当我尝试使用API Explorer进行测试时,出现以下错误 -
java.lang.NoSuchMethodError
我已附上以下代码
@ApiMethod (name ="mTest")
public void mTest(@com.google.api.server.spi.config.Named("UName") String UName) throws IOException {
DatastoreService datastoreService;
datastoreService = DatastoreServiceFactory.getDatastoreService();
Transaction tx=datastoreService.beginTransaction();
try {
Key userKey = KeyFactory.createKey("USERS_PK", UName);
Entity userEntity=new Entity("M_USERS",userKey);
userEntity.setProperty("TestColumn","TestColumnValue");
datastoreService.put(userEntity);
tx.commit();
}finally {
if (tx.isActive()){
tx.rollback();
}
}
}
Run Code Online (Sandbox Code Playgroud)
在datastoreService.put(userEntity)上遇到错误 ;
请在下面找到堆栈跟踪:
Jun 29, 2014 5:12:20 PM com.google.api.server.spi.SystemService invokeServiceMethod
INFO: cause={0}
java.lang.NoSuchMethodError: com.google.appengine.api.datastore.Key.getAppIdNamespace()Lcom/google/appengine/api/datastore/AppIdNamespace;
at com.google.appengine.api.datastore.KeyTranslator.convertToPb(KeyTranslator.java:49)
at com.google.appengine.api.datastore.EntityTranslator.convertToPb(EntityTranslator.java:50)
at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl$4.toPb(AsyncDatastoreServiceImpl.java:203)
at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl$4.toPb(AsyncDatastoreServiceImpl.java:180)
at com.google.appengine.api.datastore.Batcher$BatchIterator.<init>(Batcher.java:177)
at com.google.appengine.api.datastore.Batcher$2.<init>(Batcher.java:312)
at com.google.appengine.api.datastore.Batcher.getBatches(Batcher.java:312)
at com.google.appengine.api.datastore.AsyncDatastoreServiceImpl.doBatchPut(AsyncDatastoreServiceImpl.java:536) …Run Code Online (Sandbox Code Playgroud) google-app-engine android google-cloud-datastore android-studio