Worlight.Connect()抛出"错误检索设备数据"

时间:2014-11-21 15:50:32

标签: xamarin ibm-mobilefirst

在我的Android项目中,我正在尝试连接到Worklight服务器(CLI)但在调用client.Connect()方法之后,当我查看任务结果时,它会显示一条错误消息,指出错误检索设备数据和HTTP状态500.但是,我可以在Analytics门户中看到活动数量增加。 我正在关注Xamarin Worklight SDK附带的示例。我所做的只是将Realm改为另一个并删除了不相关的方法并保留了 ConnectAsync&单独连接方法。

如果我运行随SDK附带的Worklight示例应用程序,我在任务中看不到此错误。它返回HTTP 200,一切看起来都不错。

Here is the code, for clarity sake.


    private async Task<WorklightResponse> Connect()
    {
        //lets send a message to the server
        client.Analytics.Log("Trying to connect to server", metadata);

        ChallengeHandler customCH = new CustomChallengeHandler(appRealm);
        client.RegisterChallengeHandler(customCH);
        WorklightResponse task = await client.Connect();
        //lets log to the local client (not server)
        client.Logger("Xamarin").Trace("connection");
        //write to the server the connection status
        client.Analytics.Log("Connect response : " + task.Success);
        return task;
    }

2 个答案:

答案 0 :(得分:1)

这可能与您的Android应用权限有关。编辑您的Android项目选项。在Android Application-&gt;必需权限列表中,选择适当的权限。例如,我的某个应用需要:

  • AccessNetworkState
  • AccessWiFiState
  • GetAccounts
  • 因特网
  • UseCredentials
  • 唤醒锁定
  • WriteExternalStorage

我收到了相同的错误消息,但没有相应的权限。您的清单可能因要求而异。

答案 1 :(得分:0)

默认情况下,SubscribeServlet绑定到rejectAll登录模块,该模块拒绝所有登录请求。如果您尚未更改登录模块,那么这可能就是您拒绝查看登录信息的原因。 如果您正在使用rejectAll登录模块

,请尝试将登录模块更改为其他模块