question

Upvotes
Accepted
3 1 2 2

"Domain type does not match existing request." in EMA API C++ Sample code consummer11

We are having issues with EMA API C++ Sample code consummer113. The sample code was found to have this problem today. It used to work ok.



loggerMsg
TimeStamp: 13:42:52.398
ClientName: ChannelCallbackClient
Severity: Success
Text: Received ChannelUp event on channel Channel_3
Instance Name Consumer_3_1
Connected component version: ads3.4.2.L1.linux.tis.rrg 64-bit
loggerMsgEnd

loggerMsg
TimeStamp: 13:42:53.167
ClientName: SingleItem
Severity: Error
Text: Internal error: rsslReactorSubmitMsg() failed in SingleItem::submit( RsslRequestMsg* )
RsslChannel 0x(nil)
Error Id -29
Internal sysError 0
Error Location /r/emalib/Cpp-C/Eta/Impl/Reactor/Watchlist/wlItem.c:697
Error Text Domain type does not match existing request.
loggerMsgEnd

loggerMsg
TimeStamp: 13:42:53.167
ClientName: Consumer_3_1
Severity: Error
Text: Failed to open or modify item request. Reason: RSSL_RET_INVALID_DATA. Error text: Domain type does not match existing request.
loggerMsgEnd

Exception Type='OmmInvalidUsageException', Text='Failed to open or modify item request. Reason: RSSL_RET_INVALID_DATA. Error text: Domain type does not match existing request.', ErrorCode='-29'



Best regards,
Yongguang



elektronrefinitiv-realtimeelektron-sdkema-apirrtelektron-message-api
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

@yongguang.wang

Hi,

Thank you for your participation in the forum.

Is the reply below satisfactory in answering your question?

If yes please click the 'Accept' text next to the reply. This will guide all community members who have a similar question.

Otherwise please post again offering further insight into your question.

Thanks,

AHS

1 Answer

· Write an Answer
Upvote
Accepted
78.6k 248 52 74

@yongguang.wang

From my checking, I assume that you are using EMA 3.5.0.L1 in Real-Time SDK C/CPP 1.5.0.L1.

It looks like to be a bug fixed in EMA C++ 3.5.1.L1 in RTSDK C++/C Release 1.5.1.L1.

- [ESDK-4086] - EMA must check both DictionaryUsed and DictionaryProvided to download dictionary from network 

The workaround for EMA 3.5.0.L1 is loading the dictionary from the local files by using Dictionary_2 in Consumer_3.

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

      <!-- 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_3"/>

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


        <Dictionary>
            <Name value="Dictionary_2"/>
            <DictionaryType value="DictionaryType::FileDictionary"/>

            <!-- dictionary names are optional: defaulted to RDMFieldDictionary and enumtype.def -->
            <RdmFieldDictionaryFileName value="./RDMFieldDictionary"/>
            <EnumTypeDefFileName value="./enumtype.def"/>
        </Dictionary>

Then, copy the RDMFieldDictionary and enumtype.def files from the Cpp-C\etc to the working directory of the application.

Otherwise, you can upgrade to the latest version of the Refinitiv Real-Time SDK.



icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.