使用WL.Server.setActiveUser()找不到方法错误

时间:2013-09-30 21:08:04

标签: ibm-mobilefirst worklight-adapters worklight-server

我正在尝试确定在Push适配器中执行业务逻辑的最佳方法。我已经从我的本地环境成功运行了示例PushAdapter(Module_07_04_nativeAPIForiOSPush),但是,添加WL.Server.setActiveUser()会引发错误。

我在Worklight Studio(6.0.0.201309171829)中本地运行了演示PushAdapter适配器,作为适配器中的第一行添加:

WL.Server.setActiveUser( “PushAppRealm”,用户id); ...

部署适配器更改,使用相同的参数运行并在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 个答案:

答案 0 :(得分:2)

var userIdentity = {

        userId: "userid",
        displayName: "userid", 
        attributes: {
            foo: "bar"
        }
};

WL.Server.setActiveUser(“PushAppRealm”,userIdentity);

这应该有效。但是,对于此示例,您不应显式设置用户标识。方法WL.Server.setActiveUser()用于在基于适配器的身份验证的情况下设置用户标识。此示例使用基于表单的身份验证。