我正在使用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:您必须先加载或分配此属性,然后才能读取其值。 at microsoft.exchange.webservices.data.PropertyBag.getPropertyValueOrException(Unknown Source)at microsoft.exchange.webservices.data.PropertyBag.getObjectFromPropertyDefinition(Unknown Source)at microsoft.exchange.webservices.data.Item.getBody(Unknown Source)at MSExchangeEmailService 。MSExchangeEmailService.main上的.readTask(MSExchangeEmailService.java:146)(MSExchangeEmailService.java:224)
请帮忙,这是正确的方法来获取任务?
I am using an EWSJavaAPI for creating task in Exchange Server but i am not getting any reference to fetch task using the same api. Below is my code add task:
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();And i tried below code to fetch task but this is not working :
//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("======================="); }error at task.getBody(); microsoft.exchange.webservices.data.ServiceObjectPropertyException: You must load or assign this property before you can read its value. at microsoft.exchange.webservices.data.PropertyBag.getPropertyValueOrException(Unknown Source) at microsoft.exchange.webservices.data.PropertyBag.getObjectFromPropertyDefinition(Unknown Source) at microsoft.exchange.webservices.data.Item.getBody(Unknown Source) at MSExchangeEmailService.readTask(MSExchangeEmailService.java:146) at MSExchangeEmailService.main(MSExchangeEmailService.java:224)
Please help, is this right approach to fetch task??
最满意答案
您需要先加载任务。
在for循环之前添加task.load() 。
You need to load the Task first.
Add task.load() before your for loop.
更多推荐
发布评论