2016-07-15 2 views
0

Ich versuche, Java-Client zu implementieren, EWS-Protokoll für die Kommunikation mit Mail-Server verwendet wird. Also entschied ich mich, dieses EWS API zu verwenden.EWS: Nicht unterstützte Einschränkung in FindItem Anfrage Ausnahme

Jetzt versuche ich Elemente aus Postfach zu bekommen, es funktioniert gut, aber wenn ich einige Suchfilter hinzugefügt, eine Ausnahme aufgetreten:

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) 

Dies ist der Code, den ich verwendet habe, ist es der Code, den ich kopiert von Github Website:

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. 
    } 
} 

Dank

Antwort

1

ich habe die Antwort gefunden.

Es wird durch den E-Mail-Server verursacht, der Restriktion bei der Suche nach Artikel nicht unterstützt.

Verwandte Themen