2013-09-30 4 views
0

푸시 어댑터에서 비즈니스 로직을 실행하기위한 최선의 방법을 결정하려고합니다. 내 로컬 환경에서 예제 PushAdapter (Module_07_04_nativeAPIForiOSPush)를 성공적으로 실행했지만 WL.Server.setActiveUser()를 추가하면 오류가 발생합니다.WL.Server.setActiveUser()를 사용하여 메소드 오류를 찾을 수 없습니다.

내가 (6.0.0.201309171829) 작업등 Studio에서 로컬 데모 PushAdapter 어댑터를 실행 해요, 어댑터의 첫 번째 행으로 추가 :

WL.Server.setActiveUser ("PushAppRealm", userId를); ...

배포 어댑터 변화, 같은 PARAMS으로 실행하고 작업등을 콘솔에서이 오류를 얻을 :

방법 com.worklight.integration.js.JavaScriptIntegrationLibraryImplementation.setUserIdentity를 찾을 수 없습니다 (문자열, 문자열). (/integration.js#36) FWLSE0101E : 원인 : [project Module_07_04_nativeAPIForiOSPush] null

이 줄이 없으면 어댑터가 아무런 문제없이 실행됩니다. 알림을 만들지 여부에 대한 비즈니스 논리를 결정하기 위해 사용자의 환경 설정을 다음에 가져 오기 때문에 활성 사용자를 설정하려고합니다. 다른 접근법이 있습니까?

(WL Studio 6에 수정 팩 1을 적용한 후) 새로운 작업 공간에서도이 작업을 실행했지만 동일한 결과가 나타납니다.

질문은 1) 왜이 오류가 발생합니까?, 2) 이것이 유효한 접근 방법입니까?

감사합니다.

답변

2

VAR의 userIdentity = {

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

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

이렇게하면됩니다. 그러나이 샘플에서는 명시 적으로 사용자 ID를 설정하면 안됩니다. WL.Server.setActiveUser() 메서드는 어댑터 기반 인증의 경우 사용자 ID를 설정하는 데 사용됩니다.이 샘플은 폼 기반 인증을 사용합니다.