question

Upvotes
Accepted
45 6 4 8

RSearch query callback not called

Hello,

I'm using the RSearch library in order to extract RICs based on criteria.

The library is usually working perfectly.

However, since few days we are facing an issue. When we try to extract data from Eikon with RSearch the server seems to not send any answer to the request. In other words the callback method is never called.

We did not perform any update of our application.

Please find below the detail of my implementation :

if (RSearchCookie != 0)
{
    RSearchQuery = RSearchMgr.CreateRSearchQuery(RSearchCookie);
}

if (RSearchQuery != null)
{
    RSearchParameters = rSearchParameter;
    RSearchCritera = rSearchCriteria;

    RSearchQuery.OnUpdate += OnUpdate; // here I define the callback for RSearch updates.

    RSearchQuery.AssetClass = RSearchAssetClass;
    RSearchQuery.SearchParameters = RSearchParameters;
    RSearchQuery.SearchCriteria = RSearchCritera;
}

Here is the callback definition. This method is not called anymore.

public void OnUpdate(IRSearchResponse pIRSearchResponse)
{
    if (GlobalExtractionManager.IsEndOfExtractionRequested)
    {
        // Notif for GUI
        EIkonAPIMediator.SendEndOfRICExtractionConfirmation();
    }
    else
    {
        EIkonAPIMediator.SendRSearchMessage(pIRSearchResponse);
    }
}

Would you have any idea why the server is not answering ? Maybe it could be a linked to my network configuration ?

Thanks a lot for your help

eikoneikon-com-api.neteikon-.net-api
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.

Upvotes
Accepted
45 6 4 8

Hello,

Thanks you a lot for your answer.

As suggested I installed the sample application provided in the .Net COM documentation. I was facing the same issue.

But after completely reinstalling the Eikon app the problem seems to be solved ! (for the moment)

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.

Upvotes
39.3k 76 11 27

The best way to investigate this is to capture the HTTP request to the Web service behind RSearch library. When you submit a search request through RSearch COM library, the library generates an HTTP request to the Web service on Eikon platform backend. E.g.

https://amers1.views.cp.thomsonreuters.com/search/ThomsonReuters/MarketsSearch/Services/2012/05/01/Search.svc

This HTTP request can be captured using an HTTP analyzer like Fiddler, which can provide valuable info about what happened to the request.

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.

Hello Alex,

Thank you for the answer.

So I just performed a network capture with Fiddler. I can also provide the session file if required.

At first glance it seems that the Eikon API is acting as expected. HTTP 200 are returned and the content is list of RIC in JSON format.

The RSearch parameters are the following : NBROWS:2000 SORT:MaturityDate:A.

This I believe explains why we get 4 HTTP 200 with 500 RICs each. (I guess the .NET lib is in charge to consolidate all the json records in a single IRSearchResponse containing 2000 results.)

So the problem seems to be that the Callback method is never called when http 200 are returned... In debug mode we could observe that breakpoints are never fired in the callback.

We did not update the app recently, the problem suddenly appeared last week.. One of my colleague was not able to perform any data extraction but it was still working on my computer. Then I faced the same issue few days later.

We are using the build 4.0.49.176 of package Interop.RSearch.dll

Would you have any idea ?

summary.png (72.1 KiB)
json.png (32.0 KiB)

I was also thinking, do you think the problem could come from the activity of an anti-virus ? Do you know if the Interop.RSearch.dll attempts to create any temporary files on the disk, that would be blocked by the anti-virus then leading the process to not complete his task (without throwing an Exception) ?

Upvotes
39.3k 76 11 27

@someName

Interop.RSearch.dll is just a COM interop dll. It merely provides the mapping between COM classes and .NET assemblies, so that RSearch.dll COM library could be used in a .NET project. The version of Interop.RSearch.dll can't be of any significance, since class definitions in RSearch.dll haven't changed in many, many years.
I'm afraid I do not reproduce the issue you're experiencing on my end. I just tried using the example in the RSearch tutorial on this portal, and I had no problem retrieving the data. I'm using Eikon v4.0.53072, which comes with RSearch.dll v4.0.53.30.
I think it's unlikely that the issue is related to antivirus.
Could you try and see if you can display search results using the example in the tutorial I just mentioned? Let's also check if the date when you started experiencing the problem coincides with a date of Eikon update on your and your colleague's machines. To see that, check %ProgramData%\Thomson Reuters\Eikon Data\UpdatesHistory.xml file, which contains the history of Eikon version updates on the machine.

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.