Worklight - 启动时连接失败

时间:2014-01-28 09:55:58

标签: ibm-mobilefirst worklight-studio

使用Worklight服务器v6.1我正在尝试开发一个在启动时连接到生产服务器的简单应用程序。要做到这一点,我做:

  • initOptions.js文件中,我将connectOnStartup设置为true
  • 在我wlCommonInit文件的<my-app>.js方法中调用:

    WL.Client.connect({ onSuccess: connected, onFailure: failure });

其中connectedfailure是对两个在listview中加载一些数据的简单函数的回调。当我在生产或开发环境中使用它时,我会在我的应用程序布局中找到一个位置,说明它正在加载,如下图所示(即使应用程序正确加载了数据):

enter image description here

我注意到在iOS或Android设备上安装并运行后我没有这种奇怪的行为,但在Windows8设备上我确实有这种行为。

我设置为false connectOnStartup并且只保留对WL.Client.connect的调用。 现在应用程序不再被阻止(我想因为WL.Client.connect异步运行而WL.Client.init没有,但它只是我的意见)。

我还无法连接到服务器,这很奇怪因为(你可以在图片中看到)有一个listview填充了sql适配器返回的数据,

所以看起来应用程序可以连接到服务器以调用适配器,但不能连接到更新

1 个答案:

答案 0 :(得分:1)

您已在connectOnStartup:true中设置了initOption.js,这意味着该应用将尝试在启动时连接到Worklight Server - 基本上它会调用connect,那么为什么要调用WL.Client.connect中的wlCommonInit()也是如此?

至于onSuccess和onFailure,我认为你可能想要的是以下内容:
See the options for WL.Client.init

有一个initOption可以在initOptions.js中取消注释:

  • onConnectionFailure
  

连接到Worklight时调用的失败处理函数   服务器,默认情况下在初始化时执行,或者如果是   connectOnStartup标志为true,失败。

默认情况下,“成功”为wlCommonInit(),但您想在initOptions.js中添加其他内容,还可以添加onSuccess: something


顺便说一句,你在哪里看到你作为Worklight的“最佳实践”做了什么?