can not get the full symbols

i want to get the Symbol Lists by request "_ADS_CACHE_LIST" :

consumer.registerClient( ReqMsg().serviceName( "ELEKTRON_DD" ).name( "_ADS_CACHE_LIST" ), client );

but i failed, the log is as follows:

StatusMsg

streamId="5"

domain="MarketPrice Domain"

state="Closed / Suspect / Not found / '**The record could not be found'"

name="_ADS_CACHE_LIST"

nameType="1"

serviceId="257"

serviceName="ELEKTRON_DD"

StatusMsgEnd


Best Answer

  • wasin.w
    wasin.w admin
    Answer ✓

    Hello @jxu2

    It seems you are connecting to the Refintiv Real-Time -- Optimized (RTO), which is the Refinitiv Real-Time platform on the cloud.

    The "_ADS_CACHE_LIST" is a pseudo-symbol that can request the list of the Market Price items name currently in the cache for the given Refinitiv Real-Time Advanced Distribution Server (ADS) service.

    This feature is available on the deployed ADS to let consumers get the list of item names on their on-prem ADS site, but I am not sure if it is available on the RTO (cloud - which can be accessed by multiple clients).

    I highly recommend you contact the RTO support team to help you find the RIC name of the content that you are looking for.

    You can submit a ticket to the RTO support team via the my.refinitiv.com website and choose "I cannot find content I am looking for" with the product "Refinitiv Real-Time - Optimized".

    rto-content-ticket.png


Answers

  • Hello @jxu2

    To request a symbol list item, the application needs to set the request message domain type to be Symbol List (EmaRdm.MMT_SYMBOL_LIST) too.

    Example:

    consumer.registerClient(EmaFactory.createReqMsg().domainType(EmaRdm.MMT_SYMBOL_LIST).serviceName("ELEKTRON_DD").name("_ADS_CACHE_LIST"), appClient, 0);

    You can find more detail from the EMA API ex270_SymbolList (Java)/Cons270 (C/C++) example.


  • i rewrite the Cons270 like this (real username, password,clientid replace by 'xxx'):

    OmmConsumerConfig config;
    config.username('xxxx');
    config.password( 'xxxx' );
    config.clientId( 'xxxx' );
    OmmConsumer consumer( config.consumerName( "Consumer_4") );
    UInt64 handle = consumer.registerClient( ReqMsg().domainType( MMT_SYMBOL_LIST ).serviceName( "ELEKTRON_DD" ).name( "_ADS_CACHE_LIST" ), client, 0 );

    i start Cons270,

    loggerMsg
    TimeStamp: 14:20:45.392
    ClientName: ItemList
    Severity: Verbose
    Text: Added Item 0x0x945a550 of StreamId 5 to ItemList
    Instance name Consumer_4_1
    loggerMsgEnd


    Item Name: _ADS_CACHE_LIST
    Service Name: ELEKTRON_DD
    Item State: Open / Ok / None / ''
    loggerMsg
    TimeStamp: 14:21:45.427
    ClientName: ItemList
    Severity: Verbose
    Text: Removed Item 0x0x945a550 of StreamId 5 from ItemList
    Instance name Consumer_4_1
    loggerMsgEn


    what's wrong?

  • 1. what's the difference between RTO and ADS?

    2. When i register a symbol,

    consumer.registerClient( ReqMsg().serviceName( "ELEKTRON_DD" ).name("JPY="), client);

    I can receive 1 Refresh-Msg and many Update-Msgs. Both of them have many fids. But I can not find these fids which can be found in history Market Price data, why?

    quote message

    BIDSIZE

    ASKSIZE


    trade message

    SEQNUM

    TRDVOL_1

    TRDPRC_1

    AGGRS_SID1

    TRADE_ID

  • Hello @jxu2

    • The RTO (Refinitiv Real-Time -- Optimized) is the cloud-hosted solution (currently AWS).
    • The deployed ADS is the on-prem server that is deployed on your server site.

    I am assuming that you are connecting to the RTO based on the given snippet code that set the username, password, and clientID which are the required RTO credentials.

    About the field data, please be informed that the API receives incoming data from the Refinitiv Real-Time platform and passes it to the application as it is.

    I highly recommend you contact the Content support team to verify if those fields are available on the Refinitiv Real-Time. You can submit a ticket to the Content support team via the my.refinitiv.com website.

    content-questions.png



  • Hello @jxu2

    Additionally, the Refinitiv Real-Time platform provides only real-time data from the data feed/exchange.

    The Refresh message (sometimes it is called "Image") is the complete set of values that represents the item. It contains "all fields" data.

    The Update message contains only the field values that changed. It is general practice for real-time streaming systems/APIs to only provide fields that have changed since the previous refresh/update to minimize bandwidth usage & unnecessary processing of unchanged fields.

    Hope this helps.