2017-06-05 125 views
1

当我们使用WL.Client.connect API We got access denied in the followingMobileFirst 7.1服务器访问被拒绝使用WL.Client.connect API

服务器错误日志的时候得到这个错误信息:

[错误] FWLSE0020E :Ajax请求异常:无法找到应用程序环境,应用程序=测试,版本= 1.0,环境= iphone [项目WLTestConnect]

[错误] FWLSE0117E:错误代码:1,错误描述:INTERNAL_ERROR,错误消息:FWLSE0069E:An内部错误发生在项目请求期间编辑[项目WLTestConnect]找不到应用程序环境,应用程序=测试, null,SubscribeServlet = null,wl_anonymousUserRealm = null,wl_deviceAutoProvisioningRealm = null}。 [项目WLTestConnect] com.worklight.common.log.filters.ErrorFilter

[错误] FWLSE0335E:授权失败:客户端Id f5ac9a8cda443cfca33d1e7f926a71f90f8c67a1没有在服务器上找到。 [项目WLTestConnect]

这里的情景:

  1. 创建工作区A.你好MobileFirst项目
  2. 部署项目工作区A.
  3. 部署你好MobileFirst应用本地MobileFirst服务器iphone然后使用WL.Client.connect API。我们获得了连接成功回调。
  4. 导出名为WLTestConnect的MobileFirst项目。
  5. iPhone设备(iOS 10.2.1)仍在运行。
  6. 切换到新的工作区B.
  7. 导入WLTestConnect项目工作区B.
  8. 部署WLTestConnect项目到本地服务器MobileFirst。
  9. 在iPhone设备中使用WL.Client.connect,我们得到了拒绝访问错误。

MobileFirst版本:7.1.0.00-20151214-1857 & 7.1.0.00-20170608-1107

有没有办法避免访问被拒绝?

+0

请在第二次尝试之前删除设备上先前安装的应用程序副本。 – krckumar

+0

我们在生产env有同样的问题。很难告诉我们的客户删除一个重复安装的应用程序。是否有可能使用任何代码来避免这种情况? – DannyYang

+0

问题: 1)什么DB?在这两个工作区中它指向相同的数据库还是不同的? 2)在第9步中是同一个设备还是新的? –

回答

1

我们发现问题的解决方法:

设置工作灯。属性文件

  1. mfp.session.independent =假
  2. 注释 “#mfp.attrStore.type =数据库”

然后连接成功!

0

这是一个非常有效的错误消息和预期行为。当您从MobileFirst Studio中的一个工作区移到另一个工作区时,它会创建MobileFirst服务器的新副本以及保存此服务器数据的数据库。

该应用程序尝试连接到“新的”服务器和错误消息实际上是说,由于其DB没有这种设备连接到它的任何历史上的服务器无法识别该设备。

+0

是的,它不预期的行为(我们尝试模拟生产服务器的情况)。我们在生产环境中遇到了拒绝访问问题:我们安装了新的MobileFirst Server实例(使用新的数据库)并使用IHS重定向新实例。然后我们得到了同样的错误 – DannyYang

+0

因为我们需要将当前项目迁移到具有新数据库的新服务器。旧的是崩溃。 – DannyYang

+0

这是您说新实例使用新数据库时的正确行为。您应该将IHS配置为粘滞会话,以便来自一台设备的所有流量始终发送到服务器中的同一节点。 – Srik