0

我正在尝试确定在推送适配器中执行业务逻辑的最佳方法。我已经从本地环境成功运行了示例 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)这是一种有效的方法吗?

谢谢。

4

1 回答 1

2

var 用户身份 = {

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

WL.Server.setActiveUser("PushAppRealm", userIdentity);

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

于 2013-10-03T12:09:43.873 回答