我正在使用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 for this error,但无法找到为什么会发生这种错误。
我做错了什么?
答案 0 :(得分: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
(对不起我的个人资料限制的链接数量)