2014-03-28 2 views
0

내 목표는 EWS에 대한 사용자 지정 SearchFilter을 만드는 것입니다. 예를 들어 맞춤 알고리즘 (예 : Soundex 또는 '집에서 만든')을 사용하여 모든 이메일 제목을 검색하고 싶습니다.Exchange 웹 서비스 (EWS) 사용자 지정 필터

나는 이런 식으로 뭔가를 할 수 있도록하고 싶습니다 :

SearchFilter.SearchFilterCollection filter = new SearchFilter.SearchFilterCollection(LogicalOperator.And); 
filter.Add(new SearchFilter.ContainsSubstring(ItemSchema.Categories, myCategory)) // Standard .NET Filter 
filter.Add(new MyFilter(ItemSchema.XXXX, myVariable)) // <-- A custom implementation 

SearchFilter 클래스는 public입니다 만 클래스를 유도하기 위해 저를 방지하는 내부 생성자가 있습니다. ContainsSubstring 또는 IsLessThan과 같은 미리 정의 된 검색 클래스는 봉인됩니다 (및 SearchFilter에서 파생 됨).

누구나 솔루션을 볼 수 있습니까?

답변

2

불행히도 이것은 불가능합니다. EWS Managed API의 SearchFilter 클래스는 궁극적으로 Exchange 웹 서비스 스키마를 준수하는 SOAP XML로 serialize해야합니다. 예를 들어, SearchFilter.ContainsSubstring은 SOAP 요청의 Contains XML 요소로 직렬화됩니다. 모든 Managed API 클래스 및 동등한 SOAP의 예는 여기에서 확인할 수 있습니다 : http://msdn.microsoft.com/EN-US/library/office/dn579422(v=exchg.150).aspx.

SOAP를 통해 필터를 보내려면 스키마를 준수해야합니다. 즉, 사용 가능한 필터 유형 중 하나 여야합니다. 맞춤 유형을 보낼 방법이 없습니다. 맞춤 필터 처리를 수행하려면 관련 데이터를 클라이언트로 가져와 필터링을 수행해야합니다.

관련 문제