首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Cometd/bayeux client + salesforce流API问题

Cometd/bayeux client + salesforce流API问题
EN

Stack Overflow用户
提问于 2018-05-16 07:49:52
回答 1查看 2.4K关注 0票数 5

我有我的.NET客户端(windows服务),它订阅Salesforce流API主题。

我能够连接到Salesforce,并可以将通知发送给我的客户。一切都很好,但是:

当在一段时间后(可能是2个小时)通道上没有任何活动( Salesforce对象没有更改),如果我更新对象,我将不会收到任何来自Salesforce的通知。

我试过让侦听器登录,并在日志中显示如下

{"clientId":"f6xo67iet55w5j7ek6ldw72nfc6",“通道”:“/meta/connect”,"id":"82",“成功”:true} 5/15/2018 8:12:28 {“建议”:{“间隔”:0,“重新连接”:“握手”},“通道”:“/meta/connect”,"id":"83",“错误”:“403::未知客户端”,“成功”:false} 5/15/2018 8:12:28 PM {"clientId":"hbx1v2cxebbeder11s99dqkxmasre",“建议”:{“间隔”:0,“超时”:110000,“重新连接”:“重试”},“通道”:“/meta/hbx1v2cxebbeder11s99dqkxmasre”,"id":"85",“成功”:true} 5/15/2018 8:12:29 PM {"clientId":"hbx1v2cxebbeder11s99dqkxmasre",“通道”:“/meta/connect”,"id":"86",“成功”:true} 5/15/2018 8:14:20 {"clientId":"hbx1v2cxebbeder11s99dqkxmasre",“通道”:“/meta/connect”,"id":"87",“成功”:true} 5/15/2018 8:16:10

因此,根据日志,有时我得到“403::未知的客户端”,但在那之后,它又说通道成功了。

但是,正如我所说的,当我尝试在2小时后更新Salesforce对象(按照日志,它是连接成功的),我没有收到任何通知。

如果我重新启动windows服务并再次获得通知。

在我的客户端,我使用cometd from - https://github.com/couchand/CometD.NET/tree/headers,对于推主题订阅,我使用的是- PushTopics

任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-22 08:05:18

好的,我终于能让这个工作起来了。以下是更改

  1. 每当出现“403::未知客户端”时,CometD就尝试重新连接(cometd的默认行为)。
  2. 一旦它重新连接,所有的信道订阅都将被删除(这就是cometd所做的,它是默认行为)。
  3. 因此,解决方案是,我们总是需要在“元/握手”回调中执行频道订阅。就连cometd.org也建议这样做。
  4. 这将确保在每个握手通道上保持同步。
  5. 完成此操作后,我的salesforce同步工作正常,即使我们不更新salesforce中的任何对象,然后在2天后尝试,它仍然有效。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50365162

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档