question

Upvotes
Accepted
3 1 1 5

Elektron Message API - Consumer Tutorial - Posting data to TR Contribution Channel

I'm currently trying to develop an app for Contributed Channels. As a start I use 'Elektron Message API - Consumer Tutorial - Posting data to TR Contribution Channel' from https://developers.thomsonreuters.com/elektron/elektron-sdk-cc/downloads to test out connectivity.


In EmaConfig.xml I have Host as chp02-emea1.thomsonreuters.com and Port as 443.

In the program I use OmmConsumer consumer(OmmConsumerConfig().username(Account Number).position(Machine ID1)); The bold parameters is the one from CONTRIBUTIONS CHANNEL ORDER DETAILS


But it only return: Exception Type='OmmInvalidUsageException', Text='login failed (timed out after waiting 45000 milliseconds) for chp02-emea1.thomsonreuters.com:443)'

I have tried the B-side: chp02-emea2.thomsonreuters.com but with the same result.

Could you please tell help me figure out what I'm doing wrong as I assume that the host is running as it should and the error is about something else

elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apircc-api
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

Jens,

Please can you use the following addresses for a windows client;

chpw02-emea1.thomsonreuters.com

chpw02-emea2.thomsonreuters.com

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.

Thanks @Dominic.Allison

That worked

@Dominic.Allison

Could you help me with the correct setting for this call:

OmmConsumer consumer(OmmConsumerConfig().username(xx).position(yy));

When I got this from:

YOUR CONTRIBUTIONS CHANNEL ORDER DETAILS
Account Number:xx
Machine ID1:yy
Password:zz

Upvotes
14.7k 39 12 18

Hi @jens, I tried the contributions sample from downloads section, connecting to chp02-eap-emea1.thomsonreuters.com:443, with my credentials and was able to successfully login and contribute.

Can you please recheck your credentials and the contributed item name.

AppClient::OnRefreshMsg :: RefreshMsg
    streamId="1"
    domain="Login Domain"
    Solicited
    RefreshComplete
    ClearCache
    state="Open / Ok / None / 'Refresh Completed'"
    itemGroup=""
    name="****"
    nameType="1"
    Attrib dataType="ElementList"
        ElementList
            ElementEntry name="SingleOpen" dataType="UInt" value="1"
            ElementEntry name="AllowSuspectData" dataType="UInt" value="1"
            ElementEntry name="ProvidePermissionExpressions" dataType="UInt" value="1"
            ElementEntry name="ProvidePermissionProfile" dataType="UInt" value="1"
            ElementEntry name="SupportBatchRequests" dataType="UInt" value="1"
            ElementEntry name="SupportOptimizedPauseResume" dataType="UInt" value="0"
            ElementEntry name="SupportOMMPost" dataType="UInt" value="1"
            ElementEntry name="SupportEnhancedSymbolList" dataType="UInt" value="1"
            ElementEntry name="SupportViewRequests" dataType="UInt" value="0"
            ElementEntry name="ApplicationId" dataType="Ascii" value="256"
            ElementEntry name="ApplicationName" dataType="Ascii" value="ema"
            ElementEntry name="Position" dataType="Ascii" value="10.116.81.181/net"
        ElementListEnd

    AttribEnd
RefreshMsgEnd

AppClient::OnStatusMsg :: StatusMsg
    streamId="5"
    domain="System Domain"
    PrivateStream
    ClearCache
    state="Open / Ok / None / ''"
    name="****"
    serviceId="10"
    serviceName="****"
StatusMsgEnd

Are you trying this sample from Linux machine?

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.

I'm using a windows machine.

It never gets to consumer.registerClient, so AppClient is not register yet. It except with the mention exception on OmmConsumer consumer(OmmConsumerConfig()....

So it either something with the connection or the login. From Reuters I got:

YOUR CONTRIBUTIONS CHANNEL ORDER DETAILS
Account Number:xx
Machine ID1:yy
Password:zz

I quessed where to place it:

OmmConsumer consumer(OmmConsumerConfig().username(xx).position(yy));

Password I send though (linux):

./dacsObfuscateLogin -e zz

And the result I put into elmList.addAscii("Password", "qqqqq").complete(); in onStatusMsg it never get to this point as stated above the AppClient is never register.

Upvotes
7.6k 15 6 9

@jens

Currently the C++ versions of ETA and EMA on the Linux platform offer this functionality. It mentioned in the Tutorial.

It does not works on windows.

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.

I'm a bit confused. Does "Elektron SDK - C/C++ - 1.1.1 - Windows" not run on windows platform? There is a complete library for ETA and EMA for windows.

I know dacsObfuscateLogin dosn't work on windows, why I used linux to get the password encode. But should contribution to TRCC not work from windows using "Elektron SDK - C/C++ - 1.1.1 - Windows"?

Ok I see now the sample is for Linux, but does that mean that TRCC can only be used from Linux?

We will provide a windows version of the sample application and obfuscation tool shortly

@jens

As far as I understand EMA Tunnel Stream on Windows and Linux using difference library for connecting to the TRCC server. Hence EMA requires specific version of server which support the library used by EMA on windows. At the time we create the example, it does not have windows version of TRCC server available. I think there is the reason that you have to use difference server for windows client.