我正在为Android创建一个与Azure .NET后端(或至少应该)后台接口的移动应用程序。我可以创建一个服务对象,并得到一张桌子正好与此代码罚款(插入正确的价值观,很明显):Android和Azure移动服务例外:“处理请求时出错”
MobileSerivceClient mClient = new MobileServiceClient(
"https://myApp.azure-mobile.net/",
"myAppKey ",
this
);
MobileServiceTable myMobileServiceTable = mClient.getTable(MyClass.class);
结果都是非空并且没有异常抛出。但是,当我尝试执行此代码时:
myTable.insert(item, new TableOperationCallback<MyClass>() {
@Override
public void onCompleted(MyClass entity, Exception exception, ServiceFilterResponse response) {
AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this).setMessage("Success!");
AlertDialog dialog = builder.create();
if(exception == null)
{
dialog.show();
}
else
{
builder.setMessage("Exception: " + exception.getMessage());
exception.printStackTrace();
dialog = builder.create();
dialog.show();
}
}
});
我收到来自服务器的错误。在检查ServiceFilterResponse对象中返回的异常时,似乎错误是由404 - 未找到响应引起的,并且返回的异常类型为MobileServiceException。但是这对我没有意义,因为它似乎好像我已经成功连接到我的移动服务。出于某种原因,它不是连接到我与移动服务连接的SQL表吗?有没有人知道在“堆栈”中的位置,如果你愿意,这个错误发生?我无法弄清楚导致问题的原因。
谢谢!
当我评论上述答案时,我能够通过帮助页面发送POST请求,但没有任何运气。不幸的是,错误信息就像问题的标题所说的一样,所以它没有给我太多帮助......我已经在.NET后端中命名了这些类,并且我的Android应用程序具有相同的功能和所有属性同样如此。该表是在我发送请求时创建的,它创建了一些自己的列,但我认为这些列是由API生成的(例如版本,CreatedAt,UpdatedAt和Deleted) –
有一点需要注意的是, '在我的.NET版本的类中的Id字段...但我认为基于它看起来如何从它的EntityData基类继承Id属性。不知道这是否有帮助 –
您可以尝试使用mClient.getTable(“MyClass”,MyClass.class)而不是mClient.getTable(MyClass.class)。在我们的例子中,使用类名显然有帮助(但是我们得到了一个不同的错误,所以它对你来说真的是一个黑暗的镜头......)是的,自动处理CreatedAt,UpdatedAt等。索引ID也应该自动处理。 –