我们在使用 Cisco Unity 和 Exchange 2010 时遇到了问题。我们已完成数据包捕获并确定 EWS 没有<t:ModifiedEvent>
向某些用户的 Unity 服务器发送通知。
有没有办法查询 Exchange 来列出它正在推送或流式传输的 EWS 订阅?
答案1
将正确地重写我的评论。
在 EWS 中。不。EWS API 仅支持创建订阅或使用 GetEvent 检索信息,但您需要为此类请求提供水印和订阅 ID,否则请求将失败。正如我之前在评论中所说的那样,在 EWS 中,您使用用户凭据进行连接,因此订阅将绑定到该帐户,除非该帐户可以模拟。使用 EWS 获取此类通知的应用程序间接负责保留订阅 ID 和水印,如果应用程序关闭而未关闭订阅,则 Exchange 中会出现超时。
- 确认请求的 SubscriptionID 是客户端访问服务器上托管的有效订阅。如果不是,则 GetEvents 调用失败。
- 将请求的经过身份验证的用户的 SMTP 地址与创建订阅的用户的 SMTP 地址进行比较。如果不匹配,则 GetEvents 请求失败。
- 查询订阅队列中是否有等待发送给客户端的事件。如果队列不为空,则从队列中拉取前 50 个事件并将其编码为通知。
- 如果在队列中未找到任何事件,则会生成 StatusEvent 并将其编码为通知响应。
- 通知响应返回给客户端。
- 通知中包含的事件将从订阅队列中删除,并且客户端访问服务器本地订阅的最后一个水印将设置为返回的最后一个事件的水印。
- 订阅的超时计时器已重置。
在 exchange powershell 中,还没有。您只能看到围绕订阅的限制策略。
在事件日志中,也许值得一试。您可以默认看到一些事件,例如;
事件类型:警告 事件来源:MSExchange Web Services 事件类别:核心 事件 ID:5 日期:2009-02-27 时间:19:57:49 用户:N/A 计算机:MY-SERVER 描述:无法发送订阅 HQBhd3N0b3NydjA1LmFjYWRlbWljd29yay5sb2NhbBAAAACykwfyGuuJSIrp5cV7B8Ie 的通知。将重试。从那里
这让我建议您尝试将事件日志级别设置为其他级别,看看是否可以找到更多有用的信息。使用 powershell 命令,例如:“Set-EventLogLevel “MSEXchange Web Services\Core” –Level High”
MSExchange Web Services\Core 或在 2013 年他们也添加了:MSExchangeSubmission\MSExchangeSubmission