EMA NIP Dictionary request

Hi - is it possible to make a dictionary request from the server when implementing a NIP using the EMA API ?

when i attempt to make a request I get a NPE

Exception in thread "main" java.lang.NullPointerException at com.thomsonreuters.ema.access.DictionaryItem.open(DictionaryCallbackClient.java:1279) at com.thomsonreuters.ema.access.ItemCallbackClient.registerClient(ItemCallbackClient.java:1719) at com.thomsonreuters.ema.access.OmmBaseImpl.registerClient(OmmBaseImpl.java:363) at com.thomsonreuters.ema.access.OmmNiProviderImpl.registerClient(OmmNiProviderImpl.java:201) at com.thomsonreuters.ema.access.OmmNiProviderImpl.registerClient(OmmNiProviderImpl.java:193) at com.rbs.trep.NiProvider.main(NiProvider.java:72)

Best Answer

  • For NIP, EMA Java and C++ does not support the dictionary download feature from the ADH yet.

    The tracking number ESDK-462 is used to capture this issue.

Answers

  • It is possible to request dictionary from NIP using MMT_Dictionary request.

    Please see Java-> Elektron Toolkit 1.1.0-> EMA ->Example 332 for the code example.

  • Hello @david.gardiner

    I can reproduce the same exception as you after i added the following in

    niprovider.series100.example100__MarketPrice__Streaming application

    long fldHandle = provider.registerClient(reqMsg.domainType(EmaRdm.MMT_DICTIONARY).name("RWFFld").filter(EmaRdm.DICTIONARY_NORMAL), appClient);   

    long enumHandle = provider.registerClient(reqMsg.clear().domainType(EmaRdm.MMT_DICTIONARY).name("RWFEnum").filter(EmaRdm.DICTIONARY_NORMAL),appClient);

    Then I got:

    Exception in thread "main" java.lang.NullPointerException   
    at com.thomsonreuters.ema.access.DictionaryItem.open(DictionaryCallbackClient.java:1279)
    at com.thomsonreuters.ema.access.ItemCallbackClient.registerClient(ItemCallbackClient.java:1719)
    at com.thomsonreuters.ema.access.OmmBaseImpl.registerClient(OmmBaseImpl.java:363)
    at com.thomsonreuters.ema.access.OmmNiProviderImpl.registerClient(OmmNiProviderImpl.java:201)
    at com.thomsonreuters.ema.access.OmmNiProviderImpl.registerClient(OmmNiProviderImpl.java:193)
    at com.thomsonreuters.ema.examples.training.niprovider.series100.example100__MarketPrice__Streaming.NiProvider.main(NiProvider.java:197)

    From EMA tracing log, it showed that EMA did not send dictionary request to the server because the exception occurred before.

    I tried with RFA Java StarterProvider_NonInteractive and it downloaded dictionary from the same ADH as EMA niprovider successfully. Hence, the cause tends to from EMA(EMA bug/non-support feature) or the application level(improper implementation/configuration).

  • Hello @david.gardiner

    To clarify if this is EMA bug/non-support feature or improper implementation/configuration in application level with the development team, you can submit your problem to the development directly via GitHub at

    https://github.com/thomsonreuters/Elektron-SDK/issues

    Then, click "New issue" button. Hence, you can communicate and follow up with the development team directly.

  • Pimchaya.Wongrukun.

    thanks for the information. I will raise a issue with the dev team to find out what they suggest.

    In the meantime I will try and load a local dictionary from file although its not really ideal.