EWS收不到office365的推送通知
EWS can not receive push notification from office365
我正在使用 EWS api 在平板电脑上开发一个与 office365 连接的 androd 应用程序。应用程序轮询 office365 服务器以请求日历信息。但是,当应用程序安装在 15 台设备上并且每台设备以 5 秒的间隔轮询时,有时会受到节流策略的限制。服务器 returns 消息说它正忙。
EWS 提供流式订阅和推送订阅。流媒体订阅不是我想要的,因为它只允许 10 个连接同时工作(根据 .https://msdn.microsoft.com/EN-US/library/office/dn458789(v=exchg.150).aspx)
所以推送通知是更好的选择。
当我尝试使用推送通知时,我们的应用程序能够订阅 office365 上的日历。服务器回复订阅成功。
然后,该应用程序创建了一个套接字并侦听来自 office365 的数据。但是,当我们创建、修改日历上的事件时,不会将数据从 office365 推送到我们的应用程序。
我们在本地网络中尝试了使用 Exchange2010 Sp2 的方案,效果很好。因此,我们假设这是因为网络问题或网络策略。我们尝试重新配置路由器以允许端口转发并关闭防火墙。还是不行。
所以问题很简单如何正确实现 "office365" 的推送通知接收器。
来自 O365 的推送通知不太可能起作用。即使您确实将防火墙端口打开到您建立的侦听端口,仍然存在您向 O365 提供通知的 URL 的可路由性问题。例如。如果你给它“http://myserver:11111/pushhere”,它可能无法解析 "myserver",除非你有一个 public DNS 条目。即便如此,让端口对网络开放可能不是一个好主意——至少在我的公司,IT 人员永远不会让我这样做!
关于流媒体订阅的 10 个连接限制,可以使用模拟来解决。事实上,对于 O365 模拟几乎是强制性的,IMO,以避免 O365 作为 SaaS 必须做的节流。这确实需要使用 PowerShell 进行一些设置才能涵盖您需要订阅的所有 MB,但这是一次性的事情。
也就是说,流式通知比旧的 PUSH 管理起来更复杂。特别是对于 O365,您必须了解通过自动发现获得的分组信息,并在每个连接上仅订阅同一组中的 MB。此外,您每个订阅的最大 200 MB 硬性规定可能会或可能不会成为您的一个因素。您在上面引用的文章详细介绍了很多内容。
祝你好运!
我正在使用 EWS api 在平板电脑上开发一个与 office365 连接的 androd 应用程序。应用程序轮询 office365 服务器以请求日历信息。但是,当应用程序安装在 15 台设备上并且每台设备以 5 秒的间隔轮询时,有时会受到节流策略的限制。服务器 returns 消息说它正忙。
EWS 提供流式订阅和推送订阅。流媒体订阅不是我想要的,因为它只允许 10 个连接同时工作(根据 .https://msdn.microsoft.com/EN-US/library/office/dn458789(v=exchg.150).aspx) 所以推送通知是更好的选择。
当我尝试使用推送通知时,我们的应用程序能够订阅 office365 上的日历。服务器回复订阅成功。 然后,该应用程序创建了一个套接字并侦听来自 office365 的数据。但是,当我们创建、修改日历上的事件时,不会将数据从 office365 推送到我们的应用程序。
我们在本地网络中尝试了使用 Exchange2010 Sp2 的方案,效果很好。因此,我们假设这是因为网络问题或网络策略。我们尝试重新配置路由器以允许端口转发并关闭防火墙。还是不行。
所以问题很简单如何正确实现 "office365" 的推送通知接收器。
来自 O365 的推送通知不太可能起作用。即使您确实将防火墙端口打开到您建立的侦听端口,仍然存在您向 O365 提供通知的 URL 的可路由性问题。例如。如果你给它“http://myserver:11111/pushhere”,它可能无法解析 "myserver",除非你有一个 public DNS 条目。即便如此,让端口对网络开放可能不是一个好主意——至少在我的公司,IT 人员永远不会让我这样做!
关于流媒体订阅的 10 个连接限制,可以使用模拟来解决。事实上,对于 O365 模拟几乎是强制性的,IMO,以避免 O365 作为 SaaS 必须做的节流。这确实需要使用 PowerShell 进行一些设置才能涵盖您需要订阅的所有 MB,但这是一次性的事情。
也就是说,流式通知比旧的 PUSH 管理起来更复杂。特别是对于 O365,您必须了解通过自动发现获得的分组信息,并在每个连接上仅订阅同一组中的 MB。此外,您每个订阅的最大 200 MB 硬性规定可能会或可能不会成为您的一个因素。您在上面引用的文章详细介绍了很多内容。
祝你好运!