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

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