使用 WL.Client.connect 和移动网络环境创建了简单的应用程序,在预览和实际设备上 运行 时查看 "Access Denied"

Created simple App with WL.Client.connect and mobile web environment, see "Access Denied" when running it on the preview and actual device

创建了一个简单的混合应用程序。代码中只有以下内容

main.js

function wlCommonInit() {
   WL.Client.connect({
      onSuccess: function() {alert ("OK");},
      onFailure: function (string) {alert ("fail" + string);}
   });
}

我创建了一个移动网络环境。

在我构建所有环境之后,运行 它在服务器上。 我右键单击移动网络环境 > 预览

我不断收到一个弹出警报,说 "Access Denied" 有一个名为 reload

的按钮

我转到我的 iphone 并在 safari 中为移动网络输入 URL。我在 iphone.

上得到了完全相同的错误

请协助。

您没有告诉我们您使用的是什么版本的 MobileFirst Platform Foundation,但我猜它是 7.1。

在 7.1 中,引入了一个新的 Session-Independent Mode,并且默认开启。但是,基于浏览器的环境(例如移动网络)不支持会话独立模式。如果您尝试在不支持它的环境中使用配置为会话独立模式的应用程序,您将收到此错误。如果您想在 7.1 中创建一个使用基于浏览器的环境的应用程序,您需要禁用会话独立模式。

如果您进入项目的 "worklight.properties" 文件,请设置(或更改)这些值:

mfp.session.independent=false
mfp.attrStore.type=HttpSession

然后 rebuild/deploy 你的项目,它应该可以工作。

有关会话独立模式的更多信息,请参阅我上面链接的文档页面。