EMA consumer error 107

Here is my Code, according to C++ EMA Cons113:


OmmConsumerConfig config;

EmaString itemName = "EUR=";


EmaString consumerName = "Consumer_4";



config.username("xxxxxx");

config.password("xxxxxx");

config.clientId("xxxxxx");


OmmConsumer consumer( config.consumerName( consumerName ) );


consumer.registerClient( ReqMsg().serviceName( "ELEKTRON_DD" ).name( itemName ), *this );

sleep( 900000 ); // API calls onRefreshMsg(), onUpdateMsg(), or onStatusMsg()

} catch ( const OmmException& excp ) {

cout << excp << endl;


It runs to line " OmmConsumer consumer( config.consumerName( consumerName ) );" and blocked here,with log as follow:


loggerMsg

TimeStamp: 15:40:45.631

ClientName: ChannelCallbackClient

Severity: Warning

Text: Received ChannelDownReconnecting event on channel Channel_4

Instance Name Consumer_4_1

RsslReactor 0x0xb6d74a0

RsslChannel 0x0xb6d74a0

Error Id -1

Internal sysError 107

Error Location

Error Text </local/jenkins/workspace/ESDKCore_RCDEV/OS/OL7-64/rcdev/source/rtsdk/Cpp-C/Eta/Impl/Transport/ripcsslutils.c:2049> Error: 1002 ripcSSLConnect() client connect() failed. System errno: (107)

loggerMsgEnd


loggerMsg

TimeStamp: 15:40:47.649

ClientName: ChannelCallbackClient

Severity: Warning

Text: Received ChannelDownReconnecting event on channel Channel_4

Instance Name Consumer_4_1

RsslReactor 0x0xb6d74a0

RsslChannel 0x0xb6d74a0

Error Id -1

Internal sysError 107

Error Location

Error Text </local/jenkins/workspace/ESDKCore_RCDEV/OS/OL7-64/rcdev/source/rtsdk/Cpp-C/Eta/Impl/Transport/ripcsslutils.c:2049> Error: 1002 ripcSSLConnect() client connect() failed. System errno: (107)

loggerMsgEnd


loggerMsg

TimeStamp: 15:40:52.755

ClientName: ChannelCallbackClient

Severity: Warning

Text: Received ChannelDownReconnecting event on channel Channel_4

Instance Name Consumer_4_1

RsslReactor 0x0xb6d74a0

RsslChannel 0x0xb6d74a0

Error Id -1

Internal sysError 107

Error Location

Error Text </local/jenkins/workspace/ESDKCore_RCDEV/OS/OL7-64/rcdev/source/rtsdk/Cpp-C/Eta/Impl/Transport/ripcsslutils.c:2049> Error: 1002 ripcSSLConnect() client connect() failed. System errno: (107)

loggerMsgEnd


The demo Cons113 on the same server runs Okay, while my codes reprort the former errors.

Please help check it, thanks.

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @shenping22975

    Sorry about the issue that you are facing.

    I tested the code and it works fine on my machine.

    void AppClient::onRefreshMsg( const RefreshMsg& refreshMsg, const OmmConsumerEvent& ) 
    {
        cout << "Refresh" << endl;
         //cout << refreshMsg << endl;        // defaults to refreshMsg.toString()
    }

    void AppClient::onUpdateMsg( const UpdateMsg& updateMsg, const OmmConsumerEvent& ) 
    {
        cout << "Update" << endl;
        //cout << updateMsg << endl;        // defaults to updateMsg.toString()
    }

    void AppClient::onStatusMsg( const StatusMsg& statusMsg, const OmmConsumerEvent& ) 
    {
        cout << statusMsg << endl;        // defaults to statusMsg.toString()
    }

    int main( int argc, char* argv[] )
    { 
        try { 
            AppClient client;
            OmmConsumerConfig config;
            EmaString itemName = "EUR=";
            EmaString consumerName = "Consumer_4";
            config.username("username");
            config.password("password");
            config.clientId("clientID");
            OmmConsumer consumer(config.consumerName(consumerName));
            consumer.registerClient(ReqMsg().serviceName("ELEKTRON_DD").name(itemName), client);
            sleep(900000); // API calls onRefreshMsg(), onUpdateMsg(), or onStatusMsg()
        }
        catch (const OmmException& excp) {
            cout << excp << endl;
        }
        return 0;
    }

    You may check the EMAConfig.XML which contains the correct configurations.

            <Consumer>
                <Name value="Consumer_4"/>


                <!-- ChannelSet specifies an ordered list of Channels to which OmmConsumer will attempt to    -->
                <!-- connect, one at a time, if the previous one fails to connect                            -->
                <ChannelSet value="Channel_4"/>


                <Logger value="Logger_1"/>
                <Dictionary value="Dictionary_2"/>
                <XmlTraceToStdout value="0"/>
                <XmlTraceToFile value="0"/>
                <RestEnableLog value="0"/>
            </Consumer>


    ...
    ...
            <Channel>
                <Name value="Channel_4"/>
                <ChannelType value="ChannelType::RSSL_ENCRYPTED"/>
                <CompressionType value="CompressionType::None"/>       
                <GuaranteedOutputBuffers value="5000"/>
                <!-- EMA discovers a host and a port from RDP service discovery for the specified location 
                    when both of them are not set and the session management is enable. -->
                <Location value="us-east-1"/>
                <EnableSessionManagement value="1"/>
                <EncryptedProtocolType value="EncryptedProtocolType::RSSL_SOCKET"/>
                <!-- ObjectName is optional: defaulted to ""                                                -->
                <ObjectName value=""/>
            </Channel>

    I hope that this information is of help

Welcome!

It looks like you're new here. Sign in or register to get started.

Welcome!

It looks like you're new here. Sign in or register to get started.