question

Upvotes
Accepted
1 1 1 1

EMA login time out even in the sample code.

We are trying to do something really simple, connect and contribute to EMA. To cut a long story short, after a month of trying and our network guys analyzing the lines we went back to basics and downloaded the sample application:

https://developers.refinitiv.com/elektron/elektron-sdk-cc/downloads#title-3

We built on windows using Visual studio 2012 compiler linked and run it but just like our main application every time we run it, on the following line:

OmmConsumer consumer(config.username("rmds"));

it throws a OmmException:

0x000000faac6fd9d4 "Exception Type='OmmInvalidUsageException', Text='login failed (timed out after waiting 45000 milliseconds) for chp02-emea2.thomsonreuters.com:443)', ErrorCode='-4052'"

Our network guys believe this error sits firmly on the Reuters side and I can see many people in the past have had simulate issues. We even followed some of their crazier ideas like Windows can't talk to Linux so change the server to have a chwp02-emea2.thomsonreuters.com but that didn't work.

We really need a solution for this, the whole point of an example app is it works and you can use it as a reference point to trouble shoot issues in your main app.

elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apilog-inerror-loginsample-code
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
116 1 0 1

Hi Stephen,

HTTP switches the encryption to use Wininet for TLS 1.2 under Windows. This is required when using the VIPs with the chpw prefix as these VIPs are set to allow the dual connections that the Wininet implementation requires.

The other VIPs are for OpenSSL use only and should not currently be used for Windows implementations as there is an outstanding API fix to be delivered with regard to the OpenSSL implementation under the Windows API.

Please use the following VIPs for any Windows solution and ensure that the encrypted protocol type is set to HTTP to use Wininet.

A-side= chpw02-emea1.thomsonreuters.com

B-side= chpw02-emea2.thomsonreuters.com

The EncryptedProtocolType settings are explained in section "4.3.3.1 Implementing Protocols and Encryption Behavior" of the Elektron Message API Development Documentation

Regards

Dominic

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.

OpenSSL implementation under Windows is now working correctly in https://github.com/Refinitiv/Elektron-SDK/releases/tag/Elektron-SDK-1.5.0.G1

This will allow Windows clients to use OpenSSL and connect to the "Linux,JAVA,Windows OpenSSL" VIPs listed below as required by PCN11441;

https://my.refinitiv.com/content/mytr/en/product/thomson-reuters-contributions-channel.html


Upvotes
28.9k 32 11 15

Hello @stephen.lewis,

I have retested the tutorial for EMA C++ "as is", starting from 0:

I went to EMA Consumer - Posting data to Contribution Channel (in C/C++) and have downloaded tutorial source code.

I run on Win10, from VS 2019. I have opened the project VS150, updated libxml2.lib file location to the current one (the project is for ESDK 1.1 and mine ESDK is 1.5) and was able to run.

I had to update dictionary 2 locations in emaConfig.xml to the actual locations of my file based dictionaries (the project uses Consumer 1 definition from emaConfig.xml)

I was able to connect, per channel 1 definition to "chp02-emea2.thomsonreuters.com" via encrypted channel, received refresh, status, and my next error message was "Not entitled / 'invalid MachineID or Password received'" which was true, I did not provide a valid machineId, so can not post to TRCC.

Just to be sure, this is the same TRCC example that you are testing with, correct?

---

I think you are on the right track now, by getting first the simplest example working, and only then switching to a custom app.

I would verify the connectivity to chwp02-emea2.thomsonreuters.com, as from your error, you are not connecting properly. And that is usually network connectivity, whether lack of route or firewalling. Otherwise you should see an error on build or run, before that OMMException on connect that you see.

I would in addition try running with the latest ESDK 1.5, many fixes were applied to ESDK since 1.1, and I prefer to run with all the fixes, just n case.

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 1

The problem is, on our side we have already escalated this to our networks team who have looked at this and confirmed that as far as they are concerned their is absolutely nothing wrong with the network configuration and they are seeing the connection established and then dropped from Reuters side and believe it's probably a firewall on your side. As I shared with our account manager, every other market vendor whether is be Bloomberg, Quanthouse, Activ or an exchange work with their clients to resolve these issues quickly. We started the Bloomberg contribution at the same time but when we hit connectivity issues their, their account manager assembled a team of network people to troubleshoot it with our network people and it was resolved in a day and we have been contributing for 2 months now increasing the contribution pool an order of magnitude.

The question is where do we as a business go from here? on the one side I have my IT telling me that they don't see any issues with the network and can't do anything more without counterpart help. On the other I have the classic developer line "If works on our PC, must be you".

What I don't have is a way forward from here. We have the latest version of everything and the error occurs in a single line of Reuters API code which we can't step into, so we can't break this down into any smaller chunk.

So we have 4 possible issues:

1: Network issues on our side -- problem here is we pay professionals a lot to manage this and if they say they don't believe that, without any evidence I can't really fight that.

2: Software config issue our side -- We have reduced this to a small Reuters project which you confirmed does work so this seems unlikely.

3: Network issue your side (like our NW team think) -- I confess, I doubt this but it's definitely possible.

4: A network incompatibility between our and your network. This seems most likely but we can't find it alone.

We're happy to try anything to track this down but it feels like we have run out of routes to follow alone and Reuters has removed the sort of network level support needed to fix this.

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
28.9k 32 11 15

Hello @stephen.lewis,

I hear you and understand your frustration with this delay.

However, this is Refinitiv developers forum, the members of this forum are developers who work with Refinitiv APIs, the moderators are Refinitiv API experts. The framework of a discussion forum is most suited for general questions and discussions centered around Refinitiv API usage. Not for involved, environment-specific troubleshoots.

I am glad to help to the degree that I can. As a developer, here is how I would proceed:

1. Are you familiar with telnet testing? If you are on win 10 it will not come by default, you will need to enable it via control panel first. The, run command shell as Administrator and go

telnet chp02-emea2.thomsonreuters.com 443

It needs to catch and hold, not to error-out immediately. If this does not happen, would take this result to your network team.

If it does, we can proceed further

2. Next, confirm that the example you are running is

EMA Consumer - Posting data to Contribution Channel (in C/C++)

You list a link to download area in general, and I would rather be 100% sure, then 99% that you are running this bare-bones contribution example, and not another linked to GitHub. If not the case, this is what I would test with.

3. Next, update to ESDK 1.5 and I would just download the example project again, and point a project to it from scratch, but is possible to re-point from the one that is already setup in IDE. If you are re-pointing includes and libraries, has to be every single one.

4. Just to confirm, you are on 64 bit windows, because EMA is not supported on 32 bit, so would need to be.

5. One direction I am thinking in is that VS 2012 should be supported to run EMA, but is really the earliest that is supported to run EMA. Have not seen anyone lately doing that and VS 2010 was not supported according to API Compatibility Matrix. There may be complexity with it, TRCC This is a very far-fetched guess, but if it is possible on your side to re-build and re-test with a later VS, I would.

6. Another obscure idea, on your machine, in Internet Options, TLS 1.2 is enabled, not unchecked? This is what Contribution Channel uses.

Let us know how this works for you?

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 1
I get that this Forum isn't a support team and I guess that should have been the first question, Do Reuters offer a professionally supported API to contribute prices similar to other vendors? or option to pay per incident to resolve? It feels like this would take a manday or two with Reuters help but without it, we could spend months getting no where as we are just pushing buttons hoping for good luck. Ironically, this is exactly the argument I have with our account manager, I said how is someone sitting in a rival bank going to be able to help my network guys troubleshoot a complex network issues without any access to the infrastructure the issues exists on! 1: We can telnet no problem. This was the first thing we tried. 2: Yes that is the project we are using. 3: We have only ever user 1.5 SDK 4: yes 64 bit 5: We can try this, but the quant library and all models are built and released using 2012 at the moment, To move to even 2015 is a major piece of work due to floating point differences causing the models to all need to be tested and signed off again by PC. So if we got it to work with 2015/17/20 we couldn't release it anyway to our production environment. 6: Yes TLS is checked, When we deploy it will be on Linux it doesn't have a GUI interface installed or web browser.
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
24.5k 86 10 22

Hi @stephen.lewis

Just to confirm you were trying chpw02-emea1.thomsonreuters.com or chpw02-emea2.thomsonreuters.com and the above reference to chwp02-emea2.thomsonreuters.com is just a typo?

Also, in your EMAConfig.xml for the Channel entry, you are using, can you try changing the following parameter?

EncryptedProtocolType::RSSL_HTTP (from the default RSSL_SOCKET)

e.g.

<Name value="Channel_1"/>
<ChannelType value="ChannelType::RSSL_ENCRYPTED"/>
<Host value="chpw02-emea2.thomsonreuters.com"/>
<Port value="443"/>
<EncryptedProtocolType value="EncryptedProtocolType::HTTP"/>

Apologies if you have already tried the above.


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 @stephen.lewis

Just to confirm, I tried the above example locally - albeit with a VS2017 build. Prior to changing the above config parameters, I get the following error:

Exception Type='OmmInvalidUsageException', Text='Application or user initiated exit while waiting for login response.', ErrorCode='-4048'

but once I changed the above parameters I am able to Login successfully.


Upvotes
1 1 1 1
Thanks, changing the EncryptedProtocolType to HTTP does seem to make a whole world of difference in 2017 at least! Is their any documentation explaining these settings which would help out network engineers understand why HTTS works but not SSL_SOCKET?
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.