question

Upvotes
Accepted
1 1 1 2

Issue whereby for a particular Instrument error is thrown with no further details

Hello One of our application teams is having an issue with a particular RIC that was working until 2 weeks ago. Now they have reported that the below code is throwing an error. They have asked what could be the causes of this throwing an error. I work for the TREP infrastructure and have captured the conversation (all below) between sink application and ads server this RIC which is called SONIAOSR= as well as another RIC that works which is called RONIAOSR=

RfaScopedEnvironment.cc

void processData(const ::rfa::common::Data& payload, const ::rfa::sessionLayer::OMMItemEvent& ie)

{

if ( ie.getClosure() != (&ric) )

{

LOG_CB_ERROR( "WARNING: RicData event has different closure for " << service.c_str() << "/" << ric.c_str() << " !!!" );

}

const ::rfa::common::Msg& msg = ie.getMsg();

const ::rfa::message::RespMsg& respMsg = static_cast<const ::rfa::message::RespMsg&>(msg);

if ( respMsg.getMsgModelType() != ::rfa::rdm::MMT_MARKET_PRICE )

{

return;

}

if ( result.getType() == cb::rfa::RfaValue::vtEmpty )

{

result.reset( env.decoder.decodeData( payload ).release() ); //------ This throws an error for SONIAOSR=

}

else

{

CB_LOG_LEVEL( "RicData received multiple times, ignoring later values", 3 );

}

dispatcher.terminate();

}

For SONIAOSR=, please see the attached file: trace.txt.

They are using rfa7.6.1.L1.solaris

treprfarfa-apierror
trace.txt (32.4 KiB)
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.

Hi @ronald.harris,

Thank you for your participation in the forum.

We have move the XML data to the attached file (trace.txt) in order to shorten the question.

Thanks,

AHS

@veerapath.rungruengrayubkul is assigned to monitor this question.

@ronald.harris

Thank you for your participation in the forum.

Are any of the replies below satisfactory in resolving your query?

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

Otherwise please post again offering further insight into your question.

Thanks,

AHS

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such. Thanks, AHS

1 Answer

· Write an Answer
Upvotes
Accepted
11.3k 25 9 14

The data dictionary (RDMFieldDictionary and enumtype.def) might not be up to date. It is possible that some fields might be added.

RFA will throw an invalid usage exception, if an application tries to get field's definition for a Field ID that is not in the dictionary. You may update the dictionary used by the application. If the application downloads dictionary from server, the dictionary files needs to be updated on the server. Otherwise, the local dictionary files should be updated.

However, we would recommend adding a try/catch block to catch the exception, so you can get the detail information about the exception.

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.