question

Upvotes
Accepted
9 3 2 6

EMA JAVA - CIAM migration - Failed to copy OAuth credential for enabling the session management; OAuth password does not exist.

Since migrating our code to CIAM, we managed to connect to the API. However, we suddenly no longer are able to connect with the following error.


SEVERE: component named 'reutersUpdater' failed, class .RateSheetUpdater, fault type 'Elektron Connection Failure'

Exception Type='OmmInvalidUsageException', Text='loggerMsg

ClientName: ChannelCallbackClient

Severity: Error

Text: Failed to add RsslChannel(s) to RsslReactor. Channel name(s)

Instance Name Consumer_Frost_1

RsslReactor @37047ae6

RsslChannel null

Error Id -6

Internal sysError 0

Error Location Reactor.copyOAuthCredentialForSessionManagement

Error Text Failed to copy OAuth credential for enabling the session management; OAuth password does not exist.

loggerMsgEnd


', Error Code='-6'

at com.refinitiv.ema.access.OmmBaseImpl.ommIUExcept(OmmBaseImpl.java:1602)

at com.refinitiv.ema.access.ChannelCallbackClient.initializeReactor(ChannelCallbackClient.java:919)

at com.refinitiv.ema.access.ChannelCallbackClient.initializeConsumerRole(ChannelCallbackClient.java:991)

at com.refinitiv.ema.access.OmmConsumerImpl.handleAdminDomains(OmmConsumerImpl.java:489)

at com.refinitiv.ema.access.OmmBaseImpl.initialize(OmmBaseImpl.java:277)

at com.refinitiv.ema.access.OmmConsumerImpl.<init>(OmmConsumerImpl.java:41)

at com.refinitiv.ema.access.EmaFactory.createOmmConsumer(EmaFactory.java:237)

#technologyema-apijavaciam
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
Accepted
79.2k 251 52 74

@andre.malenfant

Thank you for reaching out to us.

It seems that you are still using the Version 1 Authentication code which requires a username, password, and client ID.

To use Version 2 Authentication (CIAM) which requires a client ID and client secret, you need to use RTSDK version 2.0.5 (EMA/ETA API version 3.6.5) and above.

The code looks like this:

OmmConsumer consumer = null;
 
AppClient appClient = new AppClient();
OmmConsumerConfig config = EmaFactory.createOmmConsumerConfig();
 
consumer = EmaFactory.createOmmConsumer(config.consumerName("Consumer_1").clientId(clientId).clientSecret(clientSecret));
 
consumer.registerClient(EmaFactory.createReqMsg().serviceName("ELEKTRON_DD").name(itemName), appClient);

For more information, please refer to the EMA Java API: Refinitiv Real-Time Optimized Version 2 Authentication Migration Guide article.

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.

The issue was the packaging of the app. The wrong version of the ema libs were included. The code works with the right version now. Thanks!
Upvotes
9 3 2 6

My code is exactly like this. However, you made me realize that the build did include 3.6.1. I will correct that and test again. Thanks

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.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.