EWS Java API:会议请求已过期。无法更新日历

我正在使用 Microsoft EWS Java API 代表某些用户创建和接受约会。我这样做的方法是发送会议请求,然后在收件人的收件箱中设置收件箱观察程序并接受传入项目:MeetingRequest

import microsoft.exchange.webservices.data.core.service.item.MeetingRequest;

void accept(MeetingRequest request) {
  assert(!request.getIsOutOfDate());
  request.accept(false);
}

但是,当我尝试接受会议请求时,我收到此错误:

microsoft.exchange.webservices.data.core.exception.service.remote.ServiceResponseException: The meeting request is out of date. The calendar couldn't be updated.
    at microsoft.exchange.webservices.data.core.response.ServiceResponse.internalThrowIfNecessary(ServiceResponse.java:278)
    at microsoft.exchange.webservices.data.core.response.ServiceResponse.throwIfNecessary(ServiceResponse.java:267)
    at microsoft.exchange.webservices.data.core.request.MultiResponseServiceRequest.execute(MultiResponseServiceRequest.java:165)
    at microsoft.exchange.webservices.data.core.ExchangeService.internalCreateResponseObject(ExchangeService.java:270)
    at microsoft.exchange.webservices.data.core.service.response.ResponseObject.internalCreate(ResponseObject.java:120)
    at microsoft.exchange.webservices.data.core.service.response.CalendarResponseMessageBase.calendarSave(CalendarResponseMessageBase.java:98)
    at microsoft.exchange.webservices.data.core.service.item.MeetingRequest.internalAccept(MeetingRequest.java:218)
    at microsoft.exchange.webservices.data.core.service.item.MeetingRequest.accept(MeetingRequest.java:184)

这对应于此错误:ErrorMeetingRequestIsOutOfDate。我在 MSDN 中查看了此错误,但找不到为什么会发生此错误。

我做错了什么?


答案 1

严格地说,从Outlook客户端的角度来看,这里的问题列出了(尽管已过时)产生该错误的潜在有用原因。

https://support.microsoft.com/en-us/kb/899704

重复事件,其中初始事件是过去的,这是一种常见情况(在我的经验中最常见),当整个过程是手动的(即在第一次重复事件后添加的新与会者),尽管列表中还有几个可能适用于此处。

编辑 - 我在这里提到重复作为你的代码的潜在绊倒。getIsOutOfDate() 是否检查当前事件或模式的初始开始...

MSKB 将此作为持续存在的问题散落在一起,无论是以编程方式还是仅从 Outlook 客户端 GUI 中出现的方案。

再次编辑 - 也就是说,您没有以编程方式做错任何事情,前端也有漫长而令人沮丧的历史。您可能需要捕获的不仅仅是 ErrorCalendarMeetingRequestIsOutOfDate 来避免它。

http://www.experts-exchange.com/questions/24578557/This-Request-is-Out-of-Date.html

(抱歉,链接数量受我的个人资料限制)


答案 2

推荐