Sto utilizzando lo Microsoft EWS Java API per creare e accettare appuntamenti per conto di alcuni utenti. Il modo in cui sto facendo questo è con l'invio della richiesta di riunione e quindi la creazione di osservatori Posta in arrivo sul casella di posta elettronica del destinatario e accettare l'ingresso MeetingRequest
oggetto:EWS Java API: la richiesta di riunione non è aggiornata. Il calendario non può essere aggiornato
import microsoft.exchange.webservices.data.core.service.item.MeetingRequest;
void accept(MeetingRequest request) {
assert(!request.getIsOutOfDate());
request.accept(false);
}
Tuttavia, ottengo questo errore quando provo ad accettare la richiesta di riunione :
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)
Corrisponde a questo errore: ErrorMeetingRequestIsOutOfDate
. Ho guardato allo MSDN for this error e non sono riuscito a trovare il motivo per cui questo errore potrebbe essermi verificato.
Cosa sto sbagliando?
Non viene visualizzato l'errore per ogni utente? Hai provato a utilizzare la classe Appointment [direttamente] (https://msdn.microsoft.com/en-us/library/office/dd633648 (v = exchg.80) .aspx)? O, forse, tra il recupero dell'oggetto MeetingRequest e l'accettazione, l'oggetto sottostante è le modifiche sul server. Assicurati che non ci sia un tale ritardo ... Come test, invece di chiamare "accept", controlla la sua proprietà "LastModifiedTime". Quindi recupera nuovamente l'oggetto dal server e controlla di nuovo la sua proprietà "LastModifiedTime". Sono diversi? –