0

大约 2 天前,我们在通过 EWS API 访问 Office 365 公用文件夹期间遇到了 2 个问题。枚举公用文件夹时,
此处描述了一个问题 https://github.com/OfficeDev/ews-managed-api/issues/263 :

发生内部服务器错误。操作失败。无法将“Microsoft.Exchange.Data.Storage.PublicFolderSession”类型的对象转换为“Microsoft.Exchange.Data.Storage.IMailboxSession”类型。

有人可以解释这是什么意思吗?以及为什么现在发生 - 因为之前一切正常。

Office 365 公用文件夹上的 EWS PullSubscriptionRequest 的第二个问题。
更确切地说,问题发生在下一次调用 GetEvents 时 - 它返回ErrorNoRespondingCASInDestinationSite
早些时候一切都很好,这发生在 2 天前。
我开始研究并发现了这样的信息
https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-maintain-affinity-between-group-of-subscriptions-and -mailbox-server?redirectedfrom=MSDN
他们描述了通知订阅必须使用 HTTP 标头 X-AnchorMailbox、X-PreferServerAffinity 和 X-BackEndOverrideCookie。
但是我们已经使用了 X-AnchorMailbox - 我们将它与 node 一起使用并将其设置为相同的值 - 。
但 ExchangeImpersonation 的 PrimarySmtpAddress 始终是用户邮箱地址,而不是 PublicFolder。然后我还找到了这样的信息
https://docs.microsoft.com/en-us/exchange/client-developer/exchange-web-services/how-to-route-public-folder-hierarchy-requests
所以我尝试使用作为 GetEvents 中的 X-AnchorMailbox 请求来自节点 Account/PublicFolderInformation/SmtpAddress 中的自动发现响应的值 - 此值看起来像 AllPublicFolders?Office365?_fdbae65d@... 在此之后,错误 ErrorNoRespondingCASInDestinationSite 消失但没有返回任何通知。我只使用 X-AnchorMailbox -> 所以我也想尝试 X-PreferServerAffinity 和 X-BackEndOverrideCookie,因为它们描述但不返回任何 X-BackEndOverrideCookie。

所以我对第二个问题有几个问题:

  1. 我是否正确理解 ErrorNoRespondingCASInDestinationSite 2 天前开始发生,因为用户邮箱的 CAS 服务器(我们用来连接到 Office 365 的帐户)已更改,现在与 PublicFolder 不同?
  2. 如何正确地形成对公用文件夹的 EWS 请求
    a) ExchangeImpersonation 是否必要?如果是 - 使用什么地址(我们使用连接到 Office 365 的用户的 SMTP-addr)?
    b) 在 X-AnchorMailbox 中使用什么地址?
    c) X-AnchorMailbox 是否足够(因为 PullSubscriptionRequest 不返回 X-BackEndOverrideCookie)
    d) 如果我正确使用这 2 个 EWS 请求 - PullSubscriptionRequest 和 GetEvents - 即使用
    ExchangeImpersonation/ConnectingSID/PrimarySmtpAddress = admin365@... = AllPublicFolders?Office365?_fdbae65d@... 为什么我停下来接收任何通知

    非常感谢任何帮助。
4

0 回答 0