I am testing logging in to Refinitiv Contibutions Channel using test credentials and getting Error 1

I am new to using Electron SDK EMA C++ API. We have been using RFA C++ Market Data Interface. I am using a test program based on example from :

https://developers.refinitiv.com/elektron/elektron-sdk-cc/learning?content=26452&type=learning_material_item

I am testing logging in to Refinitiv Contibutions Channel using test credentials and getting Error 1002 client connect() failed. Where do I start to look?


Best Answer

  • efreeman
    Answer ✓

    Hi Moragodkrit,

    Dictionary_1 was set to ChannelDictionary. I switched to Dictionary_3 which was set to FileDictionary and am passed this error.

    I am now getting

    image

    I believe this is from (in the sample program) :

    TunnelStreamRequest tsr;

    tsr.classOfService(cos).domainType(MMT_SYSTEM).name("Seikan")

    .serviceName("DDS_TRCC");

    I have also tried "rmds" and "DIRECTFEED", which I have seen in another sample program.

    Thanks again.

Answers

  • @efreeman

    -Are you testing the TRCC sample on Windows or Linux?

    -Have you modified the codes to use correct user/account and modified Channel information from the below section in EMAConfig.XML to use the right server provided by the Account team?


    <ChannelGroup>

    <ChannelList>

    <Channel>

    <Name value="Channel_1"/>

    <ChannelType value="ChannelType::RSSL_ENCRYPTED"/>

    <Host value="<TRCC_SERVER_HOST_NAME>"/>

    <Port value="443"/>

    ...

    ...

    </Channel>

    </ChannelList>

    </ChannelGroup>


    If you still found the issue please set the logger level in EMAConfig.xml to verbose and run the test again so I can review the details from the log. You can change logger to log the message to file and set it to verbose like below config from EMAConfig.xml


    <Logger>

    <Namevalue="Logger_1"/>

    <LoggerTypevalue="LoggerType::File"/>

    <LoggerSeverityvalue="LoggerSeverity::Verbose"/>

    </Logger>

  • Hi Moragodkrit,

    Thanks for your help. I am using Linux.

    I think I am connecting now, but now I am getting 'dictionary retrieval failed'.

    Here are parts of a verbose log. Thanks.

    imageimage

  • More info, if needed.

    imageimage

  • @efreeman

    Did you copy RDMFieldDictionary and enumtype.def from ESDK_InstallPath/Cpp-C/etc to the running directory?


    Default config for Dictionary_1 load dictionary from the file.

  • @efreeman

    Can you change the codes to "DDS_TRCE"?

    As far as I understand we already changed the service from the source files to DDS_TRCE.

  • Hi Moragodkrit,

    Thanks. That was it.

    We are now up to the point where we can post, which is our main purpose. One more question at this time, if you don't mind.

    We are replacing our application which sends updates via MLIPs to using 'post' to TRCC. The sample program uses

    .addReal(22,<long>,OmmReal::ExonentNeg2Enum) to update a bid price

    Can we use :

    .addAscii(22,<string>) ; we receive the data as a string

    Thanks.

  • @efreeman

    As far as I understand, the type of data you need to encode has to match with the type from the data dictionary, and in this case, it must be Real. The TRCC server should get the value and then verify the data using the Real type based on the data dictionary, and it may send Nack code back when you post fid 22 using Ascii.

    Please post a new question for the additional query regarding the TRCC usage.