question

Upvotes
Accepted
7 3 1 4

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)

elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apijavaelektron-data-dictionary
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.

Upvote
Accepted
36 0 4 2

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.

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
32.2k 40 11 19

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.

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
9.6k 10 6 7

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).

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
9.6k 10 6 7

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.

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.

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.