17

我正在使用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 中的这个错误,但找不到为什么这个错误可能发生在我身上。

我究竟做错了什么?

4

1 回答 1

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

(对不起,我的个人资料限制了链接数量)

于 2016-01-17T17:49:40.600 回答