예제 #1
0
        public InternalGetMessageTrackingReportResponse GetMessageTrackingReport(GetMessageTrackingReportRequestTypeWrapper request, TimeSpan timeout)
        {
            this.ewsBinding.Timeout = (int)Math.Min(timeout.TotalMilliseconds, 2147483647.0);
            GetMessageTrackingReportResponseMessageType messageTrackingReport = this.ewsBinding.GetMessageTrackingReport(request.PrepareEWSRequest(this.serverVersion));
            MessageTrackingReportId messageTrackingReportId;

            if (!MessageTrackingReportId.TryParse(request.WrappedRequest.MessageTrackingReportId, out messageTrackingReportId))
            {
                throw new ArgumentException("Invalid MessageTrackingReportId, caller should have validated");
            }
            return(InternalGetMessageTrackingReportResponse.Create(messageTrackingReportId.Domain, messageTrackingReport));
        }
예제 #2
0
        InternalGetMessageTrackingReportResponse IClientProxy.GetMessageTrackingReport(GetMessageTrackingReportRequestTypeWrapper request, TimeSpan timeout)
        {
            GetMessageTrackingQuery       getMessageTrackingQuery       = new GetMessageTrackingQuery(this.proxyRecipient, this.directoryContext, request, this.ewsVersionRequested, timeout);
            GetMessageTrackingQueryResult getMessageTrackingQueryResult = getMessageTrackingQuery.Execute();

            if (getMessageTrackingQueryResult == null)
            {
                TraceWrapper.SearchLibraryTracer.TraceError(this.GetHashCode(), "Empty result in Request Dispatcher FindMessageTrackingQuery.Execute", new object[0]);
                return(null);
            }
            Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.GetMessageTrackingReportResponseMessageType response = getMessageTrackingQueryResult.Response;
            MessageTrackingReportId messageTrackingReportId;

            if (!MessageTrackingReportId.TryParse(request.WrappedRequest.MessageTrackingReportId, out messageTrackingReportId))
            {
                throw new ArgumentException("Invalid MessageTrackingReportId, caller should have validated");
            }
            return(InternalGetMessageTrackingReportResponse.Create(messageTrackingReportId.Domain, response));
        }