2016-07-15 4 views
0

Я пытаюсь реализовать клиент Java, который будет использовать протокол EWS для связи с почтовым сервером. Поэтому я решил использовать это EWS API.EWS: Неподдерживаемое ограничение в исключении запроса FindItem

Теперь я пытаюсь получить элементы из почтового ящика, он работает хорошо, но когда я добавил SearchFilter, исключение произошло:

microsoft.exchange.webservices.data.core.exception.service.remote.ServiceResponseException: Unsupported restriction in FindItem request 
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.findItems(ExchangeService.java:985) 
at microsoft.exchange.webservices.data.core.ExchangeService.findItems(ExchangeService.java:1028) 
at microsoft.exchange.webservices.data.core.ExchangeService.findItems(ExchangeService.java:1088) 
at main.Main.findItems(Main.java:66) 
at main.Main.<init>(Main.java:49) 
at main.Main.main(Main.java:84) 

Это код, который я использовал, это код, который я скопировал с сайта Github:

public void findItems() throws Exception { 
    ItemView view = new ItemView(10); 
    view.getOrderBy().add(ItemSchema.DateTimeReceived, SortDirection.Ascending); 
    view.setPropertySet(new PropertySet(BasePropertySet.IdOnly, ItemSchema.Subject, ItemSchema.DateTimeReceived)); 

    SearchFilter filter1 = new SearchFilter.ContainsSubstring(ItemSchema.Subject, "EWS"); 
    FindItemsResults<Item> findResults = service.findItems(WellKnownFolderName.Inbox, filter1, view); 


    //MOOOOOOST IMPORTANT: load items properties, before 
    service.loadPropertiesForItems(findResults, PropertySet.FirstClassProperties); 
    System.out.println("Total number of items found: " + findResults.getTotalCount()); 

    for (Item item : findResults) { 
     System.out.println(item.getSubject()); 
     System.out.println(item.getBody()); 
     // Do something with the item. 
    } 
} 

Спасибо

ответ

1

Я нашел ответ.

Он вызван сервером электронной почты , который не поддерживает рестрикцию при поиске товара.

 Смежные вопросы

  • Нет связанных вопросов^_^