question

Upvotes
Accepted
1 1 1 5

How to interpret Login messages for invalid user/service for Java EMA api, We have to handle scenarios for "Closed/Suspect/User unknown to permissioning system, it could be DACS, AAA or EED".

Preparing a server side application to fetch market price using EMA api in JAVA. Creating OMM consumer while the application is getting up . The invalid message is getting logged via ema internal apis but not able to collect it by using any handler

elektronrefinitiv-realtimeelektron-sdkema-apirrtelektron-message-apiauthenticationlog-in
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.

Monitored by @Wasin Waeosri

Hi @malika.gupta. Thank you for your participation in the forum.

Is the reply below satisfactory in resolving your query?

If so please can you click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question.

Thanks

AHS

@malika.gupta
Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.
Thanks,
-AHS

Upvotes
Accepted
32.2k 40 11 20
@malika.guptaPlease view of the subscriber examples available with Java EMA SDK.

They register status callback handler such as:

public void onStatusMsg(StatusMsg statusMsg, OmmConsumerEvent event) 
	{
		System.out.println(statusMsg);
	}

The app will receive and can detect a status of

"...state="Closed / Suspect / User unknown ..."

"...state="Closed / Suspect / None / 'Service name of 'YOUR_SERVICE_NAME' is not found.'"

Do you see it?
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
1 1 1 5

Thanks @zoya.farberov for the reply.


I am creating connection i.e. consumer object with user and server configuration on application startup and using that connection only, serving multuple requests.
Want to capture the status at the time of creation of consumer object only, how can we do it? And is it fine to do this way, creating consumer only once?

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.

@malika.gupta,

Do you have the status callback registered as shown in the example?

Then in order to test that it is working as expected, please try with

1. Invalid user - see the status trigger

2. Invalid service - see the status trigger.

Upvotes
24.7k 54 17 14

Hi @malika.gupta

Could you please re-test the scenario with EMA Java 1.1.0 (Elektron SDK 3.1.0) which is the latest version? This version has fixed the "Consumer application does not receive denied login message/event" issue. You can use the EMA Java example330__Login__Streaming to verify the 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
25.3k 87 12 25

Hi @malika.gupta

EMA is a realtime asynchronous API - so can expect to get Status Msgs as and when the status of a stream changes e.g. the Login stream, individual Data Item streams etc.

If you try to connect with an invalid user then you would expect to get a StatusMsg shortly after the connection attempt.

However, once you are up and running it is still entirely possible that you could get StatusMsgs later as and when the state of a stream changes. e.g. if the server connection is lost or an item is closed or if a user is de-permissioned in realtime and so on.

And yes, one Consumer at startup is usually fine for a typical consumer. And a single consumer can be used to register interest for multiple instruments - either by using the Batch facility (example370__MarketPrice__Batch) or by repeatedly calling registerClient for each instrument you wish to consume.

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.