ProcessDictionaryResponse in ValueAddConsumer

Hi all,

I am using rfanet7.5.0.L1 and ValueAddConusmer to get my RIC's using a BatchView.

After processing MMT_LOGIN and MMT_DIRECTORY events MMT_DICTIONARY event comes and I do not get any Payload in RespMsg. So I can not get the RDMDictionaryResponse to work.

I have read the Please point me RDM Usage Guide but can not find the answer.

My code was working for last two years and now it is not working.

Thanks,

Srdjan

Best Answer

  • @SrdjanR

    Note sure have you recieved response status message instead of refresh message?

    -Can you test the server with ValueAddConsumer example from folder "<RFA.NET Package>\Examples\ValueAddConsumer"?

    Also can you turn on RSSL tracing log using the instruction from the following post

    https://community.developers.refinitiv.com/questions/6057/activate-full-message-logs-for-rssl-connections-in.html

    We would like to check service status from the server. Basically the codes for download Dictionary from ValueAdd package will use service name from the first service of service list(directory response). It could be an issue when the first service in the list has gone down or unable to provide data dictionary. You can find the codes from ValueAdd pacakge and looking for ConsumerCore.cs

     void ProcessDirectoryResponseInt(OMMItemEvent evt)
    {
    ...
    // extract the first directory name
    if (directoryResp.Payload.ServiceList.Count == 0) return;
    RequestDictionaries(directoryResp.Payload.ServiceList[0].ServiceName);
    }

    If it is the case you are experiencing, you many need to modify ValueAdd library to pass the service name you are using instead of using service name from directoryResp.Payload.ServiceList[0].ServiceName

    Feel free to modify the library to pass the service name from application layer and rebuild the lib to your version.

Answers

  • moragodkrit,

    thank you for your reply.

    That resolved my issue as list of services listed for me had a service (first in the list) that was not capable of providing the Dictionary List.

    Kind Regards,

    Srdjan