public FindMessageTrackingApplication(FindMessageTrackingReportRequestTypeWrapper request, ExchangeVersion ewsRequestedVersion) : base(false, false, ewsRequestedVersion)
 {
     this.traceId = this.GetHashCode();
     this.request = request;
 }
예제 #2
0
        Microsoft.Exchange.SoapWebClient.EWS.FindMessageTrackingReportResponseMessageType IClientProxy.FindMessageTrackingReport(FindMessageTrackingReportRequestTypeWrapper request, TimeSpan timeout)
        {
            FindMessageTrackingQuery       findMessageTrackingQuery       = new FindMessageTrackingQuery(this.proxyRecipient, this.domain, this.directoryContext, request, this.ewsVersionRequested, timeout);
            FindMessageTrackingQueryResult findMessageTrackingQueryResult = findMessageTrackingQuery.Execute();

            if (findMessageTrackingQueryResult == null)
            {
                TraceWrapper.SearchLibraryTracer.TraceError(this.GetHashCode(), "Empty result in Request Dispatcher FindMessageTrackingQuery.Execute", new object[0]);
                return(null);
            }
            Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.FindMessageTrackingReportResponseMessageType response = findMessageTrackingQueryResult.Response;
            return(MessageConverter.CopyDispatcherTypeToEWSType(findMessageTrackingQueryResult.Response));
        }
예제 #3
0
 public FindMessageTrackingQuery(SmtpAddress proxyRecipient, string domain, DirectoryContext directoryContext, FindMessageTrackingReportRequestTypeWrapper request, ExchangeVersion minVersionRequested, TimeSpan timeout) : base(directoryContext.ClientContext, null, CasTraceEventType.MessageTracking, FindMessageTrackingApplication.MessageTrackingIOCompletion, InfoWorkerMessageTrackingPerformanceCounters.CurrentRequestDispatcherRequests)
 {
     if (SmtpAddress.Empty.Equals(proxyRecipient))
     {
         string address = ServerCache.Instance.GetOrgMailboxForDomain(domain).ToString();
         this.fakeRecipientQueryResults = MessageTrackingApplication.CreateFakeRecipientQueryResult(address);
     }
     else
     {
         this.proxyRecipient = proxyRecipient;
     }
     this.directoryContext    = directoryContext;
     this.request             = request;
     this.minVersionRequested = minVersionRequested;
     base.Timeout             = timeout;
 }
예제 #4
0
 public FindMessageTrackingReportResponseMessageType FindMessageTrackingReport(FindMessageTrackingReportRequestTypeWrapper request, TimeSpan timeout)
 {
     this.ewsBinding.Timeout = (int)Math.Min(timeout.TotalMilliseconds, 2147483647.0);
     return(this.ewsBinding.FindMessageTrackingReport(request.PrepareEWSRequest(this.serverVersion)));
 }