public IWebServiceBinding GetEwsBinding(DirectoryContext directoryContext) { IClientProxy clientProxy; switch (base.TrackingAuthorityKind) { case TrackingAuthorityKind.RemoteSiteInCurrentOrg: { ExchangeServiceBinding exchangeServiceBinding = new ExchangeServiceBinding("MessageTracking", WebServiceTrackingAuthority.noValidationCallback); this.SetAuthenticationMechanism(exchangeServiceBinding); exchangeServiceBinding.Proxy = new WebProxy(); RemoteSiteInCurrentOrgTrackingAuthority remoteSiteInCurrentOrgTrackingAuthority = (RemoteSiteInCurrentOrgTrackingAuthority)this; exchangeServiceBinding.Url = this.Uri.ToString(); exchangeServiceBinding.UserAgent = WebServiceTrackingAuthority.EwsUserAgentString; exchangeServiceBinding.RequestServerVersionValue = new RequestServerVersion(); exchangeServiceBinding.RequestServerVersionValue.Version = VersionConverter.GetExchangeVersionType(remoteSiteInCurrentOrgTrackingAuthority.ServerVersion); exchangeServiceBinding.CookieContainer = new CookieContainer(); clientProxy = new ClientProxyEWS(exchangeServiceBinding, this.Uri, remoteSiteInCurrentOrgTrackingAuthority.ServerVersion); break; } case TrackingAuthorityKind.RemoteForest: clientProxy = new ClientProxyRD(directoryContext, this.ProxyRecipient, this.Domain, ExchangeVersion.Exchange2010); break; case TrackingAuthorityKind.RemoteTrustedOrg: clientProxy = new ClientProxyRD(directoryContext, this.ProxyRecipient, this.Domain, ExchangeVersion.Exchange2010_SP1); break; default: throw new NotImplementedException(); } return(new WebServiceBinding(clientProxy, directoryContext, this)); }
public override IService CreateService(WebServiceUri webServiceUri, TargetServerVersion targetVersion, RequestType requestType) { Service service = new Service(webServiceUri); service.RequestServerVersionValue = new RequestServerVersion(); service.RequestServerVersionValue.Version = VersionConverter.GetRdExchangeVersionType(service.ServiceVersion); return(service); }
public override IAsyncResult BeginProxyWebRequest(IService service, MailboxData[] mailboxArray, AsyncCallback callback, object asyncState) { TraceWrapper.SearchLibraryTracer.TraceDebug(this.traceId, "Entering FindMessageTrackingApplication.BeginProxyWebRequest", new object[0]); if (Testability.WebServiceCredentials != null) { service.Credentials = Testability.WebServiceCredentials; ServicePointManager.ServerCertificateValidationCallback = ((object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) => true); } service.RequestServerVersionValue.Version = VersionConverter.GetRdExchangeVersionType(service.ServiceVersion); return(service.BeginFindMessageTrackingReport(this.request.PrepareRDRequest(service.ServiceVersion), callback, asyncState)); }
public static Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.ExchangeVersionType GetRdExchangeVersionType(int serverVersion) { switch (VersionConverter.GetExchangeVersionType(serverVersion)) { case Microsoft.Exchange.SoapWebClient.EWS.ExchangeVersionType.Exchange2010: return(Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.ExchangeVersionType.Exchange2010); case Microsoft.Exchange.SoapWebClient.EWS.ExchangeVersionType.Exchange2010_SP1: return(Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.ExchangeVersionType.Exchange2010_SP1); case Microsoft.Exchange.SoapWebClient.EWS.ExchangeVersionType.Exchange2013: return(Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.ExchangeVersionType.Exchange2012); } throw new InvalidOperationException("Unexpected version type."); }
private RecipientTrackingEvent(string domain, SmtpAddress recipientAddress, string recipientDisplayName, DeliveryStatus status, EventType eventType, EventDescription eventDescription, string[] rawEventData, string serverFqdn, DateTime date, long internalMessageId, string uniquePathId, bool hiddenRecipient, bool?bccRecipient, string rootAddress, bool parseEventData, TrackingExtendedProperties trackingExtendedProperties) { this.domain = domain; this.recipientAddress = recipientAddress; this.recipientDisplayName = recipientDisplayName; this.status = status; this.eventType = eventType; this.eventDescription = eventDescription; this.server = serverFqdn; this.date = date; this.internalMessageId = internalMessageId; this.uniquePathId = uniquePathId; this.hiddenRecipient = hiddenRecipient; this.bccRecipient = bccRecipient; this.rootAddress = rootAddress; this.extendedProperties = trackingExtendedProperties; if (parseEventData) { VersionConverter.ConvertRawEventData(rawEventData, this); return; } this.eventData = rawEventData; }
internal Microsoft.Exchange.InfoWorker.Common.Availability.Proxy.FindMessageTrackingReportRequestType PrepareRDRequest(int version) { VersionConverter.Convert(this.request, version); return(MessageConverter.CopyEWSTypeToDispatcherType(this.request)); }
internal Microsoft.Exchange.SoapWebClient.EWS.FindMessageTrackingReportRequestType PrepareEWSRequest(int version) { VersionConverter.Convert(this.request, version); return(this.request); }
public static void Convert(Microsoft.Exchange.SoapWebClient.EWS.GetMessageTrackingReportRequestType request, int version) { Microsoft.Exchange.SoapWebClient.EWS.ExchangeVersionType exchangeVersionType = VersionConverter.GetExchangeVersionType(version); Microsoft.Exchange.SoapWebClient.EWS.ExchangeVersionType exchangeVersionType2 = exchangeVersionType; if (exchangeVersionType2 == Microsoft.Exchange.SoapWebClient.EWS.ExchangeVersionType.Exchange2010) { request.Properties = null; return; } if (request.Properties != null && request.Properties.Length == 0) { request.Properties = null; } }
public static void Convert(Microsoft.Exchange.SoapWebClient.EWS.FindMessageTrackingReportRequestType request, int version) { Microsoft.Exchange.SoapWebClient.EWS.ExchangeVersionType exchangeVersionType = VersionConverter.GetExchangeVersionType(version); Microsoft.Exchange.SoapWebClient.EWS.ExchangeVersionType exchangeVersionType2 = exchangeVersionType; if (exchangeVersionType2 == Microsoft.Exchange.SoapWebClient.EWS.ExchangeVersionType.Exchange2010) { TrackingExtendedProperties trackingExtendedProperties = TrackingExtendedProperties.CreateFromTrackingPropertyArray(request.Properties); Options options = new Options(VersionConverter.BasicDiagnostics.Equals(request.DiagnosticsLevel, StringComparison.Ordinal), trackingExtendedProperties.ExpandTree, trackingExtendedProperties.SearchAsRecip, request.ServerHint); request.DiagnosticsLevel = options.ToString(); request.ServerHint = null; request.Properties = null; return; } if (request.Properties != null && request.Properties.Length == 0) { request.Properties = null; } }
internal static void ConvertRawEventData(string[] rawEventData, RecipientTrackingEvent eventToConvert) { VersionConverter.ParseRawEventData(rawEventData, eventToConvert); }
public static MtrSchemaVersion GetMtrSchemaVersion(ServerInfo server) { return(VersionConverter.GetMtrSchemaVersion(server.AdminDisplayVersion)); }