Как читать задачи, используя EWSJavaAPI?
Я использую EWSJavaAPI для создания задачи в Exchange Server, но я не получаю никаких ссылок на выборку задачи с использованием того же API-интерфейса. Ниже моя задача добавления кода:
Task t=new Task(service);
t.setSubject("Task to test in JAVA");
t.setBody(MessageBody.getMessageBodyFromText("Test body from JAVA"));
t.setStartDate(startTime);
t.setDueDate(endTime);
t.save();
И я попробовал приведенный ниже код для получения задачи, но это не работает:
//Create the extended property definition.
ExtendedPropertyDefinition taskCompleteProp = new
ExtendedPropertyDefinition(DefaultExtendedPropertySet.Task, 0x0000811C,
MapiPropertyType.Boolean);
//Create the search filter.
SearchFilter.IsEqualTo filter = new
SearchFilter.IsEqualTo(taskCompleteProp, false);
//Get the tasks.
FindItemsResults<Item> tasks =
service.findItems(WellKnownFolderName.Tasks, filter, new ItemView(50));
for(Item task:tasks){
System.out.println(task.getSubject());
System.out.println(task.getBody());// getting error at this line
System.out.println(task.getReminderMinutesBeforeStart());
System.out.println(task.getReminderDueBy());
System.out.println("=======================");
}
ошибка в task.getBody(); microsoft.exchange.webservices.data.ServiceObjectPropertyException: вы должны загрузить или назначить это свойство, прежде чем сможете прочитать его значение. в microsoft.exchange.webservices.data.PropertyBag.getPropertyValueOrException(Неизвестный источник) в microsoft.exchange.webservices.data.PropertyBag.getObjectFromPropertyDefinition(Неизвестный источник) в microsoft.exchange.webservices.data.IchangeEb.readTask(MSExchangeEmailService.java:146) в MSExchangeEmailService.main(MSExchangeEmailService.java:224)
Пожалуйста, помогите, это правильный подход для получения задачи?
1 ответ
Вы должны загрузить задачу в первую очередь.
добавлять task.load()
до вашего for
петля.