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)
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.
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.
Hi @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.
EMA Programmatic configuration in Java - unable to set Dictionary related elements
Timestamp delay between EMA Java based App and rmdstestclient when subscribing the same universe.
What could cause intermittent "Failed to make subscription" StatusMsg
[EMA Java] How to receive connection level events such as a disconnection?