【发布时间】:2016-04-12 08:37:57
【问题描述】:
我正在使用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 并找不到为什么这个错误会发生在我身上。
我做错了什么?
【问题讨论】:
-
您是否收到每个用户的错误?您是否尝试过使用 Appointment 类directly?或者,可能在获取 MeetingRequest 对象和接受它之间,底层对象是服务器上的更改。确保没有这样的延迟...作为测试,不要调用“accept”,而是检查其“LastModifiedTime”属性。然后从服务器重新获取对象并再次检查其“LastModifiedTime”属性。它们有什么不同吗?
标签: java exchange-server exchangewebservices ewsjavaapi