2015-06-05 4 views
1

Я использую EWS api для разработки приложения androd на планшетах для подключения к office365. Опрос приложения на сервере office365 для запроса информации календаря. Однако когда-то это ограничивается политикой дросселирования, когда приложение установлено на 15 устройствах и каждый опрос устройств с 5-секундным интервалом. Сервер возвращает сообщение о том, что он занят.EWS не может получать push-уведомление от офиса365

EWS обеспечивает поточную подписку и подписку на подписку. Потоковая подписка - это не то, что я ищу, потому что она позволяет работать только 10 подключений (в соответствии с. https://msdn.microsoft.com/EN-US/library/office/dn458789(v=exchg.150).aspx) Так что push-уведомление - лучший выбор.

Когда я попытался использовать push-уведомление, наше приложение может подписаться на календарь на office365. Сервер отвечает, что подписка выполнена успешно. Затем приложение создало сокет и прослушивало данные из office365. Тем не менее, данные не выводятся из office365 в наше приложение, когда мы создаем, изменяем события в календаре.

Мы пробовали сценарий с Exchange2010 Sp2 в нашей локальной сети, он работал нормально. Итак, мы предположили, что это связано с сетевой проблемой или сетевой политикой. Мы попытались переконфигурировать наш маршрутизатор, чтобы разрешить переадресацию портов, а также отключить наш брандмауэр. Это все еще не работает.

Итак, вопрос довольно прост Как правильно внедрить приемник push-уведомлений для «office365».

ответ

3

Маловероятно, что уведомления PUSH будут работать с O365. Даже если вы откроете порт брандмауэра на установочный порт прослушивания, все еще остается вопрос о маршрутизируемости URL-адреса, который вы представляете O365 для уведомлений. Например. если вы дадите ему «http://myserver:11111/pushhere», он, вероятно, не сможет решить «myserver», если у вас нет публичной записи DNS для него. Несмотря на это, вероятно, не стоит оставлять порт открытым для Интернета - по крайней мере, в моей компании, ИТ-специалисты никогда не позволили мне!

Что касается 10 ограничений на подключение к потоковым подпискам, которые можно использовать с использованием олицетворения. Фактически для O365 олицетворение является почти обязательным, IMO, чтобы избежать дросселирования, которое O365 должен делать как SaaS. Это требует немного настройки с PowerShell, чтобы охватить все MB, которые вы должны подписывать, но это одноразовая вещь.

Тем не менее, потоковые уведомления сложнее управлять, чем старые добрые PUSH. Специально для O365 вы должны знать о Групповой информации, которую вы получаете через Autodiscovery, и подписываться только с МБ в одной группе в каждом соединении. Кроме того, у вас есть жесткие 200 макс. МБ на подписку, которые могут или не могут быть для вас фактором. В приведенной выше статье содержится много подробностей.

HTH & удачи!