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

Best Answer

Answers

  • 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?

  • 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.

  • @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.

  • 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?

  • Thanks @Dominic.Allison

    That worked

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

  • @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

  • @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.