For a deeper look into our DataScope Select REST API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials

question

Upvotes
Accepted
3 1 2 4

The server committed a protocol violation. Section=ResponseStatusLineSection=ResponseStatusLine

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);
            }
        }

dss-rest-apidatascope-selectdssapihistorical
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Can you use a fiddler as a proxy?

Then, set the proxy to the extraction context.

 WebProxy proxy = new WebProxy("http://127.0.0.1:8888/", true);
 extractionsContext.Options.Proxy = proxy;
 extractionsContext.Options.UseProxy = true;

I would like to see the HTTP request and response messages when the problem occurred.

Hello @marw,

Are you still experiencing the issue?

If so, please try to test with Fiddler as suggested by Jirapongse and harvest some info, so we can try to help?

If no, please let us know.

Thanks,

-AHS

IfIf no

Hello @marw,

Please let us know if we have any update on this issue.

If you are still experiencing the issue, please post again offering further insight into your question.

1 Answer

· Write an Answer
Upvotes
Accepted
3 1 2 4

we have resolved the issue.
to resume: we needed to fix outgoing proxy settings.
we are using AWS to get faster downloads, so the AWS Ip's/urls needed to be white-listed in our configs.
Thanks for your support

-MWA

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.