Testserver and RTO application

Hello!

Could you please help me with communication between testserver tool (3.5.3.L1) and Cons100?

I was able to run testserver:

./testserver -v -S ELEKTRON_DD -bdf ./dump.bin -U 1 -N 14103 -K -ik
Initialized RSSL library.
Successfully loaded RWF data dictionary

Total number of messages processed: 99
Loaded pkts: 0 items: 99 images: 99 unsol_images: 0 image_length: 1969 updates: 0 update_length: 0 memory (MB): 0.2202

The next step is establish a connection. But a consumer is always returning an error:

./Cons10
loggerMsg
TimeStamp: 2024/10/01 10:52:05.197
ClientName: EmaConfig
Severity: Error
Text: convertEnum has an implementation for enumType [LoggerSeverity] but no appropriate conversion for value [:Success]
loggerMsgEnd

loggerMsg
TimeStamp: 2024/10/01 10:52:05.360
ClientName: ChannelCallbackClient
Severity: Warning
Text: Received ChannelDownReconnecting event on channel Channel
Instance Name Consumer_1
RsslReactor 0x0x2559990
RsslChannel 0x0x2554b50
Error Id -1
Internal sysError 107
Error Location /home/kirill.poteriaev/git/refinitiv-rtsdk/Real-Time-SDK/Cpp-C/Eta/Impl/Reactor/rsslReactorWorker.c:2250
Error Text </home/kirill.poteriaev/git/refinitiv-rtsdk/Real-Time-SDK/Cpp-C/Eta/Impl/Transport/rsslSocketTransportImpl.c:6165> Error: 1002 ipcConnecting() client connect() failed. System errno: (107)
loggerMsgEnd

Some details to make it more clear:

<?ml version="1.0" encoding="UTF-8"?>
<EmaConfig>

<ConsumerGroup>
<DefaultConsumer value="Consumer"/>
<ConsumerList>
<Consumer>
<Name value="Consumer"/>
<Dictionary value="Dictionary"/>
</Consumer>
</ConsumerList>
</ConsumerGroup>

<DictionaryGroup>
<DictionaryList>
<Dictionary>
<Name value="Dictionary"/>
<DictionaryType value="DictionaryType::FileDictionary"/>
<RdmFieldDictionaryFileName value="./RDMFieldDictionary"/>
<EnumTypeDefFileName value="./enumtype.def"/>
</Dictionary>
</DictionaryList>
</DictionaryGroup>

</EmaConfig>
  • ls:
Cons100  EmaConfig.xml  enumtype.def  RDMFieldDictionary
  • part of consumer's source code:
OmmConsumer consumer( OmmConsumerConfig().host( "localhost:14103" ).username( "user" ) );
consumer.registerClient( ReqMsg().serviceName( "ELECTRON_DD" ).name( "1876.HK" ), client );
  • 1876.HK exists in dump.bin file

How can I resolve this problem?

Thank you for your support!

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @kirill.poteriaev

    Thank you for reaching out to us.

    I can't find the Channel configuration in the Consumer.

    Please refer to the EmaConfig.xml. For example:

    <ConsumerList>
            <Consumer>     
                <Name value="Consumer_1"/>
                <Channel value="Channel_1"/>
    <Logger value="Logger_1"/>

                <Dictionary value="Dictionary_1"/>
                <XmlTraceToStdout value="0"/>
            </Consumer>

    Please add the Channel and Logger configurations.

Answers

  • @Jirapongse , thank you for your reply!

    I've added the next channel, but without an effect:

    <ChannelGroup>
    <ChannelList>
    <Channel>
    <Name value="Channel_1"/>
    <ChannelType value="ChannelType::RSSL_SOCKET"/>
    <CompressionType value="CompressionType::None"/>
    <GuaranteedOutputBuffers value="5000"/>
    <ConnectionPingTimeout value="30000"/>
    <TcpNodelay value="1"/>
    <Host value="localhost"/>
    <Port value="14103"/>
    </Channel>
    </ChannelList>
    </ChannelGroup>
    loggerMsg
    TimeStamp: 2024/10/01 12:23:41.711
    ClientName: ChannelCallbackClient
    Severity: Warning
    Text: Received ChannelDownReconnecting event on channel Channel_1
    Instance Name Consumer_1_1
    RsslReactor 0x0x1b76270
    RsslChannel 0x0x1b72990
    Error Id -1
    Internal sysError 107
    Error Location /home/developer/.conan2/p/b/refin94a3285bcb5c0/b/Real-Time-SDK/Cpp-C/Eta/Impl/Reactor/rsslReactorWorker.c:2250
    Error Text </home/developer/.conan2/p/b/refin94a3285bcb5c0/b/Real-Time-SDK/Cpp-C/Eta/Impl/Transport/rsslSocketTransportImpl.c:6165> Error: 1002 ipcConnecting() client connect() failed. System errno: (107)
    loggerMsgEnd
  • Jirapongse
    Jirapongse ✭✭✭✭✭

    @kirill.poteriaev

    Please enable the verbose log and share the verbose log.

    <LoggerGroup>
        <LoggerList>
            <Logger>
                <Name value="Logger_1"/>     
                <LoggerType value="LoggerType::Stdout"/>
                <LoggerSeverity value="LoggerSeverity::Verbose"/>
            </Logger>
    ...
  • @Jirapongse helIo!

    I don't know why, but testserver open a different port (14003 instead of 14103). Everything works now.

    Thanks you for your support!