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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials

question

Upvotes
Accepted
1 0 0 0

Getting error while appeniding identifiers

Hi, Could you please help on the below issue? When we are appending instrument list using the API getting error ‘Could not find InstrumentList with an Id of "0x072a5b7fbef6b1f7"’ occasionally. We are using below sequence while appending instrument list 1.instrumentIdentifierList.Add(new InstrumentIdentifier { Identifier = sIdentifier, IdentifierType = GetIdentifierType(sIdentifierType) }); 2.pricesnapInstrumentList = new InstrumentList { Name = sScheduledRequestName }; 3._extractionsContext.InstrumentListOperations.Create(pricesnapInstrumentList); 4._extractionsContext.InstrumentListOperations.AppendIdentifiers(pricesnapInstrumentList, instrumentIdentifierList, false); Below is the stack trace End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at ThomsonReuters.Dss.Core.RestApi.Threading.Tasks.AsyncHelper.RunSync[TResult](Func`1 func) in d:\BuildAgent\work\5085137dd0574126\src\Core\Threading\Tasks\AsyncHelper.cs:line 25 at ThomsonReuters.Dss.Api.Core.OperationsBase.InvokeSynchronously[T](Func`1 action) in d:\BuildAgent\work\5085137dd0574126\src\ServiceLayer\ServiceLayer.Client\Core\OperationsBase.cs:line 397 at ThomsonReuters.Dss.Api.Core.OperationsBase.Execute[T](DssDataServiceContext context, Uri uri, String httpMethod, Boolean isSingle, OperationParameter[] parameters, String queryOptions) in d:\BuildAgent\work\5085137dd0574126\src\ServiceLayer\ServiceLayer.Client\Core\OperationsBase.cs:line 238 at ThomsonReuters.Dss.Api.Extractions.InstrumentListOperations.AppendIdentifiers(InstrumentList instrumentList, IEnumerable`1 identifiers, Boolean keepDuplicates) in d:\BuildAgent\work\5085137dd0574126\src\Api\RestApi.Client\ExtractionsClientApi.generated.cs:line 11950 Regadrs, Pooja CM
dss-rest-apidatascope-selectdssc#
icon clock
10 |1500

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

Upvotes
Accepted
11.3k 25 8 13

@Pooja,

The DSS C# library normally uses DSS REST API to communicate with DSS server. The InstrumentList ID is provided in response body of /Extractions/InstrumentLists/Create endpoint, so the issue should not be the scenario that the Instrument List is not successfully created on DSS with step#3

I suspect that the pricesnapInstrumentList object might somehow be cleaned up by GC, so I ask you to try adding the GC.KeepAlive.

icon clock
10 |1500

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

Upvotes
11.3k 25 8 13

Hi @Pooja,

Was the step4 called immediately after the step3?

Could you try adding the GC.KeepAlive() for the pricesnapInstrumentList object? Below is the sample of code.

    _extractionsContext.InstrumentListOperations.Create(pricesnapInstrumentList);
    _extractionsContext.InstrumentListOperations.AppendIdentifiers(pricesnapInstrumentList, instrumentIdentifierList, false);

    GC.KeepAlive(pricesnapInstrumentList);
icon clock
10 |1500

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

Upvotes
1 0 0 0
Hi @veerapath Yes step 4 is called immediately after step3. There is no explicit delay. I thought these are synchronous call. Sure will try this. Actually we are not getting this on our dev environment. We are getting this on our UAT and PROD environment that to not all ways Thank you, Pooja CM
icon clock
10 |1500

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

Upvotes
1 0 0 0
Hi @veerapath Can you please advise if adding a delay between step 3 and step 4 would help? And are these call are synchronous or async call. If we want to add delay, what would be the idle delay time Regards, Pooja CM
icon clock
10 |1500

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

Upvotes
11.3k 25 8 13

Hi @Pooja,

I understand that the function is synchronous call. I have also tried the scenario that the instrument is removed on DSS before the append is called. I get different error message: "InstrumentList of id '0x072ced4b02d6b696' not found.", so it likely is not because the instrument list is not exist on DSS.

icon clock
10 |1500

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

Upvotes
1 0 0 0
Hi @veerapath, Im getting similar error, Could not find InstrumentList with an Id of "0x072a5b7fbef6b1f7"’ . If you see my first thread, I have added this.
icon clock
10 |1500

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

Upvotes
1 0 0 0
Hi @Veerapath, Thanks for the input. Will add the necessary changes and will get back. Thank you, Pooja CM
icon clock
10 |1500

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

Click below to post an Idea Post Idea