<PackageReference Include="Relativity.Server.Import.SDK" Version="2.9.2" />

RelativityManagerService

Represents a class object to provide a RelativityManager WebAPI wrapper.
using Polly; using System; using System.CodeDom.Compiler; using System.ComponentModel; using System.Diagnostics; using System.Net; using System.Web.Services; using System.Web.Services.Protocols; namespace Relativity.DataExchange.Service { internal class RelativityManagerService : WebApiServiceBase, IRelativityManagerService { [GeneratedCode("wsdl", "4.6.1055.0")] [DebuggerStepThrough] [DesignerCategory("code")] [WebServiceBinding] private class RelativityManager { [SoapDocumentMethod("http://www.kCura.com/EDDS/RelativityManager/GetRelativityUrl")] public string GetRelativityUrl() { return (string)this.Invoke("GetRelativityUrl", new object[0])[0]; } public RelativityManager() : this() { } } public RelativityManagerService(RelativityInstanceInfo instanceInfo) : base(instanceInfo) { } protected RelativityManagerService(RelativityInstanceInfo instanceInfo, IObjectCacheRepository repository, IAppSettings appSettings) : base(instanceInfo, repository, appSettings) { } public Uri GetRelativityUrl() { string webApiServiceUrl = base.InstanceInfo.WebApiServiceUrl.ToString(); string cacheKey = CacheKeys.CreateRelativityUrlCacheKey(webApiServiceUrl); Uri relativityUrl = base.CacheRepository.SelectByKey<Uri>(cacheKey); if (relativityUrl != (Uri)null) return relativityUrl; Initialize(); return RetrySyntax.WaitAndRetry(Policy.Handle<Exception>((Func<Exception, bool>)((Exception exception) => !ExceptionHelper.IsFatalException(exception))), base.AppSettings.IoErrorNumberOfRetries, (Func<int, TimeSpan>)((int retryAttempt) => TimeSpan.FromSeconds((double)base.AppSettings.IoErrorWaitTimeInSeconds)), (Action<Exception, TimeSpan>)delegate(Exception exception, TimeSpan span) { LogError(exception, $"""{span}", Array.Empty<object>()); }).Execute<Uri>((Func<Uri>)delegate { RelativityManager relativityManager = new RelativityManager(); try { relativityManager.set_Url(webApiServiceUrl.CombineUrls("RelativityManager.asmx")); relativityManager.set_CookieContainer(base.InstanceInfo.CookieContainer); relativityManager.set_Credentials(CredentialCache.DefaultCredentials); relativityManager.set_Timeout((int)TimeSpan.FromSeconds((double)base.AppSettings.WebApiOperationTimeout).TotalMilliseconds); string relativityUrl2 = relativityManager.GetRelativityUrl(); relativityUrl = new Uri(relativityUrl2); base.CacheRepository.Upsert(cacheKey, relativityUrl); return relativityUrl; } finally { ((IDisposable)relativityManager)?.Dispose(); } }); } } }