Push notification 在IBM Worklight推送通知中使用轮询时出现问题

Push notification 在IBM Worklight推送通知中使用轮询时出现问题,push-notification,ibm-mobilefirst,worklight-adapters,Push Notification,Ibm Mobilefirst,Worklight Adapters,我在用Android设备尝试WL6.0推送通知。推送通知工作正常。我还尝试使用投票。根据信息中心的文件 对于轮询,我们需要调用另一个过程,在一定的时间间隔后,当我们从该过程得到响应时,方法push就完成了。如果我错了,请纠正我 因此,根据这一点,我声明了一个名为getNotificationsFromBackend的新过程,并调用了它 像这样 WL.Server.createEventSource({ name: 'PushEventSource', onDeviceSubscr

我在用Android设备尝试WL6.0推送通知。推送通知工作正常。我还尝试使用投票。根据信息中心的文件

对于轮询,我们需要调用另一个过程,在一定的时间间隔后,当我们从该过程得到响应时,方法push就完成了。如果我错了,请纠正我

因此,根据这一点,我声明了一个名为
getNotificationsFromBackend
的新过程,并调用了它

像这样

WL.Server.createEventSource({
    name: 'PushEventSource',
    onDeviceSubscribe: 'deviceSubscribeFunc',
    onDeviceUnsubscribe: 'deviceUnsubscribeFunc',
    securityTest:'PushApplication-strong-mobile-securityTest',
    poll: {
        interval : 3,
        onPoll: getNotificationsFromBackend
    }   
});

function getNotificationsFromBackend() {
    WL.Logger.debug("hi");

}
现在,我面临的问题是当我点击
Subscribe
(来自示例应用程序)时,console说它找不到适配器。不知道出了什么问题,请帮我

我把这个放在控制台里

[ERROR   ] FWLSE0020E: Ajax request exception: Adapter 'PushAdapter' does not exist [project PushNotificationsProject]
[ERROR   ] FWLSE0117E: Error code: 1, error description: INTERNAL_ERROR, error message: FWLSE0069E: An internal error occurred during gadget request  [project PushNotificationsProject]Adapter 'PushAdapter' does not exist, User Identity {wl_authenticityRealm=null, wl_remoteDisableRealm=(name:null, loginModule:NullLoginModule), wl_antiXSRFRealm=(name:rcs7pje8os4fk6p59en152iqrq, loginModule:WLAntiXSRFLoginModule), PushAppRealm=(name:ss, loginModule:PushAppLoginModule), wl_deviceAutoProvisioningRealm=null, wl_deviceNoProvisioningRealm=(name:c343dd38-7688-35e2-8dde-2c6acaae1930, loginModule:WLDeviceNoProvisioningLoginModule), myserver=(name:ss, loginModule:PushAppLoginModule), wl_anonymousUserRealm=null}. [project PushNotificationsProject] 
                                                                                                               com.worklight.common.log.filters.ErrorFilter

出现问题的原因是适配器未成功部署。我试过这个代码,效果很好。以指定的时间间隔获取通知

WL.Server.createEventSource({

    name: 'PushEventSource',
    onDeviceSubscribe: 'deviceSubscribeFunc',
    onDeviceUnsubscribe: 'deviceUnsubscribeFunc',
    securityTest:'PushApplication-strong-mobile-securityTest',
    poll: {
        interval : 3,
        onPoll: 'getNotificationsFromBackend'
    }   
});


function getNotificationsFromBackend() {

    WL.Logger.debug("hi");
    submitNotification("User1","This is Poll Notification");
}

适配器代码的问题似乎是
onPoll
参数的函数名缺少引号

问题的原因是适配器未成功部署。我试过这个代码,效果很好。以指定的时间间隔获取通知

WL.Server.createEventSource({

    name: 'PushEventSource',
    onDeviceSubscribe: 'deviceSubscribeFunc',
    onDeviceUnsubscribe: 'deviceUnsubscribeFunc',
    securityTest:'PushApplication-strong-mobile-securityTest',
    poll: {
        interval : 3,
        onPoll: 'getNotificationsFromBackend'
    }   
});


function getNotificationsFromBackend() {

    WL.Logger.debug("hi");
    submitNotification("User1","This is Poll Notification");
}

适配器代码的问题似乎是
onPoll
参数的函数名缺少引号

您写道“推送通知工作正常”,那么它们工作正常还是不正常?它们什么时候起作用,什么时候不起作用?我在这里的问题是,我试图理解在推送通知的情况下轮询的概念。当我移除轮询对象时,Push可以正常工作。如果添加了轮询,我总是会得到上面提到的错误。好的。。。只是为了验证一下,在添加poll选项后,您是否重新部署了适配器,是吗?您能在Worklight Console中看到适配器吗?是的,我重新部署了它,它显示适配器已成功部署。在Eclipse中部署适配器时,您是否看到它已成功部署,然后被删除(那里应该有关于此的消息)?这通常意味着您的轮询实现中存在错误。您写道“推送通知工作正常”,那么它们工作正常还是不正常?它们什么时候起作用,什么时候不起作用?我在这里的问题是,我试图理解在推送通知的情况下轮询的概念。当我移除轮询对象时,Push可以正常工作。如果添加了轮询,我总是会得到上面提到的错误。好的。。。只是为了验证一下,在添加poll选项后,您是否重新部署了适配器,是吗?您能在Worklight Console中看到适配器吗?是的,我重新部署了它,它显示适配器已成功部署。在Eclipse中部署适配器时,您是否看到它已成功部署,然后被删除(那里应该有关于此的消息)?这通常意味着轮询实现中存在错误。它缺少“()”,它必须是这样的:poll:{interval:3,onPoll:'getNotificationsFromBackend()}它缺少“()”,它必须是这样的:poll:{interval:3,onPoll:'getNotificationsFromBackend()}