我们正在通过以下方法使用MS Exchange 2016订阅流式通知:
service.subscribeToStreamingNotificationsOnAllFolders(EventType.Copied,EventType.Created, EventType.Deleted, EventType.Modified, EventType.Moved, EventType.NewMail);
switch (itemEvent.getEventType()) {
case Deleted:
delete(mailbox, itemEvent.getItemId());
break;
case Moved:
try {
delete(mailbox, itemIdNoChangeKey(itemEvent.getOldItemId()));
} finally {
create(mailbox, Item.bind(service, itemIdNoChangeKey(itemEvent.getItemId())));
}
break;
case Modified:
update(mailbox, Item.bind(service, itemIdNoChangeKey(itemEvent.getItemId()), itemProp()));
break;
case Copied:
case Created:
create(mailbox, Item.bind(service, itemIdNoChangeKey(itemEvent.getItemId()), itemProp()));
break;
}
有时上述调用成功,但很多时候,Items.bind()失败,其中之一:
“访问被拒绝。请检查凭据,然后重试。,该过程无法获取正确的属性。,errorCode ='ErrorAccessDenied'”]
或
“在存储中找不到指定的对象。,该过程无法获取正确的属性。,errorCode ='ErrorItemNotFound'”]
尽管有这样的事实,>
谁能告诉我们为什么我们会收到ErrorAccessDenied和ErrorItemNotFound错误?处理与Exchange系统相关的邮件或文件夹吗?我们如何处理这些项目,或者如果我们不能跳过这些项目而又不会在Exchange服务器上造成不必要的负载?
我们正在通过以下方法订阅MS Exchange 2016的流式通知:service.subscribeToStreamingNotificationsOnAllFolders(EventType.Copied,EventType.Created,EventType ....
就我而言,我的代码冒充了错误的邮箱。原来,我需要维护如下地图: