Java 稍后恢复EWS的PullSubscription
我见过的所有代码示例都是这样的Java 稍后恢复EWS的PullSubscription,java,c#,exchange-server,exchangewebservices,Java,C#,Exchange Server,Exchangewebservices,我见过的所有代码示例都是这样的 订阅pullsubscription 获取订阅ID,水印 现在循环getEvents()直到完成,更新水印 可能退订 简言之,他们假设您在一个线程/进程中执行拉入操作,并且 无需再次使用相同的水印/订阅ID进行拉取。 API本身没有“resumePullScription(subscriptionID,水印)”,它只是 已开始订阅(文件夹、事件、水印)。我不清楚是否可以 以后再将该水印与另一个BeginSubscripte一起使用,因为subscription
- 订阅pullsubscription
- 获取订阅ID,水印
- 现在循环getEvents()直到完成,更新水印
- 可能退订
- 我想订阅并在时间T0获得水印
- 在另一个时间T1,在超时间隔内,我想再次获取事件。这是一个单独的线程,因此我需要重新连接到现有订阅/水印
- 取消订阅@time T0,然后使用水印重新订阅@time T1,但水印不会因为取消订阅而丢失吗
- 仅通过水印重新订阅,但ews是否足够聪明,可以连接到同一订阅?水印是否会被忽略?订阅预算是否会增加
无论如何,订阅到期后会发生什么情况实际上并不十分清楚。我假设水印会消失,但我看到了声称水印将存活30天的信息。那么,订阅id的意义是什么呢?EWS管理API中的PullSubscription类没有一个构造函数允许您自己实例化它(我猜这在他们的设计中是一个比较复杂的例子)所以如果你想这样做,你需要使用一些代理代码或者使用原始soap和httpclass来发出GetEvents请求并解析结果 基本上,当订阅有效时(例如在超时期间),您应该能够使用带有SubscriptionId和有效水印的GetEvents(水印应在30天内有效。如果您取消订阅该事件,水印将无效,因为它将从Events表中删除 干杯
格伦不知道为什么会被否决;)在我看来,这是一个实际的问题-所有PullSubscription的示例似乎或多或少都假设您将在一个线程中完成所有轮询,然后再也不需要在另一个进程中使用相同的水印/订阅ID组合。谢谢glen。很惊讶这是一个边界情况,但不总是这样吗;)