当与会者取消参与我拥有的日历条目时,如何订阅推送更新?

时间:2017-07-10 16:56:40

标签: calendar exchange-server exchangewebservices

我正在与EWS合作,我已通过PushSubscriptionRequest向名为DistinguishedFolderId的{​​{1}}设置推送订阅。我有一个工作监听器,它接收EWS发送的SOAP请求。

我的应用程序允许用户注册一些培训课程。当用户执行此操作时,应用程序将创建由应用程序的Exchange帐户拥有的新约会,并邀请用户作为唯一参与者。这样,我为每个课程每个用户预约一次,这可以确保用户在参加实际活动之前不会彼此了解。

当人们改变主意并且不想再参加时,他们应该登录申请并取消他们的出席。显然他们不这样做,因为在Outlook中单击“否”会更方便。他们认为他们不会去,但在应用程序中他们仍然在课程中占用了宝贵的空间,因为应用程序从未了解他们的取消。

为了缓解这种情况,我希望我的应用在其中一个日历事件发生变化时收到通知。我订阅了calendar,因为我觉得这听起来很合理。

但是,在应用程序创建新事件后不久,我只会收到ModifiedEvent次通知。我还收到了很多ModifiedEvent条消息,因为我已将StatusEvent设置为1进行测试。当我通过Outlook接受或取消接受普通邮箱用户对其中一个事件的邀请时,应用程序不会收到推送通知。

如果有人取消参与,我如何收到通知?

也许我使用了错误类型的事件,或者我订阅了错误的事情。

我没有包含任何代码或SOAP消息,因为我认为这是一个与语言无关的问题。客户端和服务器都是用Perl实现的,并嵌入在Catalyst应用程序中,但我认为这与问题无关。

2 个答案:

答案 0 :(得分:1)

Exchange邮箱本身可能未设置为自动确认对会议请求的响应。 Exchange中有一个邮箱级别设置来控制此行为。如果未设置,则无法通过EWS强制Exchange确认响应。

在资源调度设置下,该设置称为自动处理会议请求和取消

答案 1 :(得分:0)

正确的通知类型为ModifiedEvent。当参加者改变他们的状态时,他们会被解雇。我遇到的问题是我忘记将SOAP响应发送到EWS发送给我的应用程序的初始消息。然后它决定不发送任何其他内容。

相关问题