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 userIdentity = {

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

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

これはうまくいくはずです。ただし、このサンプルでは、​​ユーザー ID を明示的に設定しないでください。アダプター ベースの認証の場合、メソッド WL.Server.setActiveUser() を使用してユーザー ID を設定します。このサンプルでは、​​フォーム ベースの認証を使用します。

于 2013-10-03T12:09:43.873 に答える