We have an issue when calling HistoricalReference (1 ident per call, but mulit-threaded)
2017-11-19 14:51:36,708 ERROR RetrieveRicFromHistoricalReference - Account: 0 xxx.CalculationEngine.Logic.RetrieveRicFromHistoricalReferenceJob - Cannot retrieve RIC for 301768793
ThomsonReuters.Dss.Api.TransportException: An error occurred while sending the request. ---> System.Net.Http.HttpRequestException: An error occurred while sending the request. ---> System.Net.WebException: The server committed a protocol violation. Section=ResponseStatusLineSection=ResponseStatusLine
any help appreciated
/// <summary> /// Equities the search. /// </summary> /// <param name="transaction">The transaction.</param> /// <param name="identifier">The identifier.</param> /// <param name="identifierType">Type of the identifier.</param> /// <param name="exchange">The exchange.</param> /// <param name="date">The date.</param> /// <returns>The searched rics with status</returns> private RicsWithStatus EquitySearch(Transaction transaction, string identifier, IdentifierType identifierType, string exchange, DateTime date, ExtractionsContext context) { // Setup the request... var extractionResult = context.ExtractWithNotes( new HistoricalReferenceExtractionRequest { IdentifierList = new InstrumentIdentifierList() { InstrumentIdentifiers = new[] { new InstrumentIdentifier { Identifier = identifier, IdentifierType = identifierType } }, UseUserPreferencesForValidationOptions = false, ValidationOptions = new InstrumentValidationOptions { AllowHistoricalInstruments = true, AllowOpenAccessInstruments = true } }, Condition = new HistoricalReferenceCondition { StartDate = date.ToUniversalTime(), EndDate = date.ToUniversalTime() }, ContentFieldNames = new[] { "ISIN", "RIC", "Market MIC", "Currency Code", "Exchange Code" } }); var contents = extractionResult.Contents; var withRic = contents .Select(x => x.DynamicProperties) .Where(x => x.ContainsKey("RIC")) .Where(x => !string.IsNullOrEmpty(x["RIC"] as string)); if (contents.Count == 0) { BusinessExceptionManager.AddError(Functionality.RICRETRIEVE, SubFunctionality.HISTORICALREFERENCE, BusinessObjectType.TRANSACTION, BusinessExceptionType.NO_RIC, null, transaction.Id); return new RicsWithStatus { Status = "NH" }; } else if (withRic.Count() == 0) { BusinessExceptionManager.AddError(Functionality.RICRETRIEVE, SubFunctionality.HISTORICALREFERENCE, BusinessObjectType.TRANSACTION, BusinessExceptionType.NO_RIC, null, transaction.Id); return new RicsWithStatus { Status = "NT" }; } else { return CreateRicWithStatus(transaction.TradeCurrency, exchange, withRic); } }