使用 WL.Server.setActiveUser() 找不到方法错误
Posted
技术标签:
【中文标题】使用 WL.Server.setActiveUser() 找不到方法错误【英文标题】:Can't find method error using WL.Server.setActiveUser() 【发布时间】:2013-09-30 21:08:04 【问题描述】:我正在尝试确定在推送适配器中执行业务逻辑的最佳方法。我已经在本地环境中成功运行了示例 PushAdapter (Module_07_04_nativeAPIForiosPush),但是添加 WL.Server.setActiveUser() 会引发错误。
我在 Worklight Studio (6.0.0.201309171829) 中本地运行演示 PushAdapter 适配器,添加为适配器中的第一行:
WL.Server.setActiveUser("PushAppRealm",userId); ...
部署了适配器更改,使用相同的参数运行并在 Worklight 控制台中收到此错误:
找不到方法 com.worklight.integration.js.javascriptIntegrationLibraryImplementation.setUserIdentity(string,string)。 (/integration.js#36) FWLSE0101E: 原因:[project Module_07_04_nativeAPIForiOSPush]null
没有这条线,适配器运行没有任何问题。我正在尝试设置活动用户,因为我想接下来获取用户的首选项以确定是否创建通知的业务逻辑。还有其他方法吗?
我也在一个新的工作区中运行了它(在我将 Fix Pack 1 应用到 WL Studio 6 之后),但是结果相同。
问题是 1) 为什么会出现此错误?以及 2) 这是一种有效的方法吗?
谢谢。
【问题讨论】:
【参考方案1】:var userIdentity =
userId: "userid",
displayName: "userid",
attributes:
foo: "bar"
;
WL.Server.setActiveUser("PushAppRealm", userIdentity);
这应该可行。但是对于此示例,您不应显式设置用户身份。WL.Server.setActiveUser() 方法用于在基于适配器的身份验证情况下设置用户身份。此示例使用基于表单的身份验证。
【讨论】:
以上是关于使用 WL.Server.setActiveUser() 找不到方法错误的主要内容,如果未能解决你的问题,请参考以下文章
在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?
Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)