question

Upvotes
Accepted
38 0 3 4

"Handshake failed with far end." error

Hi, I'm trying to run cunsumer100 example and receive the following error:

May 14, 2018 2:42:46 PM com.thomsonreuters.ema.access.ChannelCallbackClient reactorChannelEventCallback
WARNING: loggerMsg
    ClientName: ChannelCallbackClient
    Severity: Warning
    Text:    Received ChannelDownReconnecting event on channel Channel_1
	RsslReactor Channel is null
	Error Id 0
	Internal sysError 0
	Error Location Reactor.processWorkerEvent
	Error text Error initializing channel: errorId=-1 text=Handshake failed with far end. No more Protocols to try.
loggerMsgEnd

My environment is: Ubuntu 16.04 with Java 7 (OpenJDK 7)

I got the latest Elektron SDK sources from github, and run an unaltered example (with only the config.host changed to the one provided by TR).

Can anyone tell me where the problem could be?
Thanks.

elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apijavalog-inencryptionhandshake
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
38 0 3 4

I've tried on windows and had same problem.

At the end we figured it out - I was indeed connecting to RSSL port but it expected TLS encryption. Using RSSL_ENCRYPTED channel with a proper keystore did the trick.

Also, note that Java Elektron SDK seems to run without problems even on officially unsupported Ubuntu.

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.

Thank you for sharing. You have found a cause of the problem so I will accept your answer.

Upvotes
52.9k 136 44 63

@jakub.ukrop

First of all, EMA does't support Ubuntu. Please refer to API Compatibility Matrix for supported operating systems and compilers.

I got the same error if I run an example to connect to TCP port (8101) which is not RSSL protocol. The default TCP port or RSSL is 14002. 8101 is a TCP legacy port for source sink library protocol.

consumer  = EmaFactory.createOmmConsumer(config.host("192.168.27.48:8101").username("user01"));
May 17, 2018 12:52:03 PM com.thomsonreuters.ema.access.ChannelCallbackClient reactorChannelEventCallback
WARNING: loggerMsg
    ClientName: ChannelCallbackClient
    Severity: Warning
    Text:    Received ChannelDownReconnecting event on channel Channel
	RsslReactor Channel is null
	Error Id 0
	Internal sysError 0
	Error Location Reactor.processWorkerEvent
	Error text Error initializing channel: errorId=-1 text=Handshake failed with far end. No more Protocols to try.
loggerMsgEnd

From the error, the application is connecting to non-RSSL port so it is unable to initialize the channel. Please contact the TR representative who provides you with the server information for confirmation.

You can also share your code or configurations so I can verify 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
38 0 3 4

Thanks, I try on windows, then contact the TR representative if the problem persists.

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.