question

Upvotes
Accepted
1 1 1 2

UAT API showing below behavior while changing from EZD & LPC

Currently we are using Elektron Connect from Refintiv to source the Real time exchange rate data feed by using RFA plugin. Only one rate is getting updated with new user "lpc: Amazon service".

Fetching and Updating Rates Current Date time:[9/28/2021 4:22:46 PM]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for CAD= Status is :[Suspect]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.event Queue returns:[-1]

RateFetchingManager.Fetch.Reuters Service is down

Rate not received from Reuters Service for Currency:[CAD]

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessOMMItemEvent.message type: 1

RateFetchingManager.Fetch.event Queue returns:[0]

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for CHF= Status is :[Suspect]

RateFetchingManager.Fetch.event Queue returns:[1]

RDMClient.ProcessOMMItemEvent.message type: 1

RateFetchingManager.Fetch.Dipatch value :[1]

RDMClient.ProcessLoginResponse.respMsg.RespTypeStatus

RDMClient.ProcessLoginResponse.Connecting with Service - Login Accepted

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for CHF= Status is :[Ok]

RDMClient.ProcessMarketPriceResponse.Rate Object Created with values , Currency Value :[ CHF=] Ask Value :[ 0.9285] Bid Value :[ 0.9281] and MidRate Value:[0.9283]

RDMClient.ProcessEvent.Price is fine to exit

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.event Queue returns:[0]

.RateProcessManager.GetRateFromFileRate Object Created with values , Currency Value :[ CHF] Ask Value :[ 0.9285] Bid Value :[ 0.9281] and Mid Value:[0.9283]

RateUpdationManager.UpdateRate.CP Rates are Updated, Updating Id Rates

RateUpdationManager.UpdateRate.Updated ID Rates

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RateFetchingManager.Fetch.event Queue returns:[1]

RateFetchingManager.Fetch.Dipatch value :[1]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for HKD= Status is :[Suspect]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.respMsg.RespTypeStatus

RDMClient.ProcessLoginResponse.Connecting with Service - Login Accepted

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RateFetchingManager.Fetch.event Queue returns:[-1]

RateFetchingManager.Fetch.Reuters Service is down

Rate not received from Reuters Service for Currency:[HKD]


With the old user 'EZD:localhost" we are getting below response

Fetching and Updating Rates Current Date time:[9/28/2021 6:02:04 PM]

Calling fetchRatesManager.Init() for Currency :[PKR=]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for PKR= Status is :[Suspect]

RateFetchingManager.Fetch.Dipatch value :[0]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.event Queue returns:[-1]

RateFetchingManager.Fetch.Reuters Service is down

Rate not received from Reuters Service for Currency:[PKR]

Calling fetchRatesManager.Init() for Currency :[BDT=]

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessMarketPriceResponse.Fetching Rates for BDT= Status is :[Suspect]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RateFetchingManager.Fetch.event Queue returns:[-1]

RateFetchingManager.Fetch.Reuters Service is down

Any idea what might be causing this?

Many thanks in advance,

Sreekala

refinitiv-realtimerfaawslocalhost
icon clock
10 |1500

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

13 Answers

Upvotes
Accepted
23k 22 9 14

Hello @sreekala.a ,

<Revising my response here, as there appears to have been a glitch in our reporting tool today>

You are one of the premium developer support users for your organization, therefore, when logged into dev portal, and entering API area, you should see "Contact Premium Support" button, and be able to open a premium support case.

Please note, that Premium Developer support capability is intended for in-depth API development questions and issues, and to be helped with LPC installation and configuration issues, it is best to directly open a support ticket with LPC product support via Refinitiv Helpdesk Online -> Product -> LPC

I have also alerted your organization's account manager, so they are aware of this discussion thread.

icon clock
10 |1500

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

Upvotes
23k 22 9 14

Hello @sreekala.a ,

If my understanding of the question is correct:

  • Your custom application has been previously running successfully, and consuming via EZD.
  • You are trying to connect it via LPC now, and seeing service down.

Service name ELEKTRON_DD should be correct, as default service name both for EZD and LPC, unless it has been modified during installation by your local admin/group.

I would proceed this way:

  1. First, verify LPC installation and user configuration and permissioning, locally on LPC server, using testclient tool rmdstestclient that is included with LPC and is in directory lpc1.1.0/linux7_x86_64/demo You may need to ask your organization market data admin/market data group for help to do this test.
  2. Once you are able to verify the streaming data on service for RIC with your configured user, next I would test custom consumer with exact same service, RIC and user, and this should work.
  3. If, however, you experience the same issue with rmdstestclient, I would
    1. Try service IDN_RDF. This is a legacy service name, that is sometimes aliased, and configured by admin on installation of LPC, in place of ELEKTRON_DD.
    2. Failing that, ask your local admin/group to confirm what service name for Refinitiv Realtime was configured on LPC during installation and should be used by the connecting app.

If this does not address the question, please try to provide more details about the question.

Hope this information helps

icon clock
10 |1500

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

Upvotes
1 1 1 2

@zoya faberov Above mentioned all steps have done. Service name is ELEKTRON_DD on both EZD & LPC. Also we have tested the instrument with testclient tool. Currently only one currency is receiving using LPC. We are processing/initiating each currencies(around 65) using a for loop using a console application(same as MRNExample_VS140.csproj). At the end of the application we are getting response in Server as


RFA Internal failure

Application: WSRatesUpdationApp

Process Id: 0x1B48

Thread Id: 0x21B0


File: C:\Jenkins\workspace\RFANETDEV_HYBRID\OS\VS140-64\rcdev\source\rfaut\Common\Support\Util\Impl\Pipe.cpp

Line: 154


Problem:

10093

RFA_VERIFY( 0 ) failed


Stack Trace:

0x00007FF85B0F46C0 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF85B0F5B23 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF85B1A1C30 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF85B270CB4 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF85B26FDE0 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF85B271F72 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF85B228B99 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF85B2196E2 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF85B1DF79A C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF85B1DEC42 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF8872C9043 C:\Windows\System32\ucrtbase.dll: __lc_locale_name_func() + 1619 bytes

0x00007FF8872CD45B C:\Windows\System32\ucrtbase.dll: register_onexit_function() + 235 bytes

0x00007FF8872C9174 C:\Windows\System32\ucrtbase.dll: execute_onexit_table() + 52 bytes

0x00007FF85B0FC9C2 C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF85B0FCACB C:\Users\exdevadm\Desktop\WsRates\RFA8_NET140_x64.dll

0x00007FF87EC8AE44 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscoreei.dll: CorDllMain() + 500 bytes


Trace is

Fetching and Updating Rates Current Date time:[9/30/2021 11:10:54 AM]

Acquire Application ConfigDatabase

Create RFA Staging Config Database

Reading RFA configuration file: ./ReutersConfiguration.cfg

Loaded RFA Staging Config Database

Merge RFA Staging Config Database into RFA Config Database

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for PKR= Status is :[Suspect]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RateFetchingManager.Fetch.event Queue returns:[1]

RateFetchingManager.Fetch.Dipatch value :[1]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.respMsg.RespTypeStatus

RDMClient.ProcessLoginResponse.Connecting with Service - Login Accepted

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for PKR= Status is :[Ok]

Normal Field Name :[CURRENCY]

2 PKR

Normal Field Name :[BID]

1 170.50

Normal Field Name :[ASK]

1 171.50

Normal Field Name :[MID_PRICE]

1 171.00

Rate Object Created with values , Currency Value :[ PKR=] Ask Value :[ 171.50] Bid Value :[ 170.50] and MidRate Value:[171.00]

Writing to File Path :[C:\Program Files\WallStreetSchedulers\WSRateUpdation\Rate.xml]

RDMClient.ProcessEvent.Price is fine to exit

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.ExitProcess event Queue returns:[0]

.RateProcessManager.GetRateFromFileRate Object Created with values , Currency Value :[ PKR] Ask Value :[ 171.50] Bid Value :[ 170.50] and Mid Value:[171.00]

RateUpdationManager.UpdateRate.CP Rates are Updated, Updating Id Rates

RateUpdationManager.UpdateRate.Updated ID Rates

Acquire Application ConfigDatabase

Create RFA Staging Config Database

Reading RFA configuration file: ./ReutersConfiguration.cfg

Loaded RFA Staging Config Database

Merge RFA Staging Config Database into RFA Config Database

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType1

RDMClient.ProcessLoginResponse.respMsg.RespTypeRefresh

RDMClient.ProcessLoginResponse.Connecting with Service- Login Pending

RateFetchingManager.Fetch.event Queue returns:[1]

RateFetchingManager.Fetch.Dipatch value :[1]

RDMClient.ProcessOMMItemEvent.message type: 1

RDMClient.ProcessRespMsg. MsgModelType6

RDMClient.ProcessMarketPriceResponse. ServiceName :ELEKTRON_DD]

RDMClient.ProcessMarketPriceResponse.Fetching Rates for BDT= Status is :[Suspect]

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RDMClient.ProcessRespMsg. MsgModelType1

e: 1

RDMClient.ProcessLoginResponse.respMsg.RespTypeStatus

RDMClient.ProcessLoginResponse.Connecting with Service - Login Accepted

RateFetchingManager.Fetch.event Queue returns:[0]

RateFetchingManager.Fetch.Dipatch value :[0]

RateFetchingManager.Fetch.event Queue returns:[-1]

RateFetchingManager.Fetch.Reuters Service is down

Rate not received from Reuters Service for Currency:[BDT]

How this problem can be resolved? Let me know if you need any other log/details

Thanks in advance.

Sreekala






icon clock
10 |1500

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

Upvotes
1 1 1 2

Hi @zoya faberov

I am attaching the log of EZD(working fine)03-Sunday_EZD.txt and lpc(only one currency is updated)03-Sunday_lpc.txt. Use the same application by keeping the same service name, changed only user and ip address.



How to solve this issue? Can i have quick remote assistance to troubleshoot this issue?


Thanks in advance.


03-sunday-ezd.txt (255.9 KiB)
03-sunday-lpc.txt (142.2 KiB)
icon clock
10 |1500

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

Upvotes
1 1 1 2

After the application runs with lpc username i am getting this messageCapture.JPG


capture.jpg (106.9 KiB)
icon clock
10 |1500

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

Upvotes
23k 22 9 14

Hello @sreekala.a ,

Let us please confirm, if with rmdstestclient, that is found with lpc, you are able to consume and test several of the currency RICs that you require, for example you may wish to use:

[]# ./rmdstestclient -S ELEKTRON_DD -il "JPY=, AUD=, EUR=" -u YOURVALIDUSER -X -d 3 -dfile ../../etc/RDMFieldDictionary

Do you see the updates for all 3 RICs via rmdstestclient?

---

There is something in the logs that I am not clear about, there are repeated messages "Source unavailable... will recover when source is up" in both EZD and LPC logs, for every instrument. Is each request a service reconnect, and then a disconnect?

However, with EZD, consequently, the instrument is requested, while for LPC, consequently "Connecting with Service- Login Pending " remains and consequently, "Service is down", and therefore, the instrument is not requested.

Next, I am guessing, and trying to help by suggesting a way to troubleshoot:

If the verification with rmdstestclient succeeds,

I would look into staying connected and just snapshotting periodically, rather then disconnecting and reconnecting every time. Not efficient, and you have to wait every time, resulting in "source unavailable" and wait.

If this is not possible and you require to disconnect and reconnect, every time, that needs to be done cleanly and successfully, i.e. disconnect and only then reconnect. You may also examine LPC log for clues, as to what is preventing, my guess is you are not disconnected, when trying to reconnect.

Hope this helps- let us know how this works on your side?



icon clock
10 |1500

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

Upvotes
1 1 1 2

Hi @zoya faberov

Tested with rmdstestclient with 3 to 4. It works fine.

We are processing around 65 currencies(lpc) in a forloop. Some of the currency values are not updated. log attached.

Steps followed: Context.Initialize();InitConfig(),InitSession();,decoder.LoadDictionaryFromFile,CreateOMMConsumer() functions called before the forloop of currencies.

Step 2:

ThomsonReuters.RFA.Common.RFA_String ItemName = new ThomsonReuters.RFA.Common.RFA_String(currency);

RequestRDMData(ServiceName, ItemName)

Step 3:

int dispatchReturn = eventQueue.Dispatch(5000); which invokes ProcessEvent(Event evnt) method of RDMclient class.

How can i process all the currencies? Let me know if detail log is needed (the method- where mainly to focus on )12-Tuesday.txt


12-tuesday.txt (18.7 KiB)
icon clock
10 |1500

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

Upvotes
23k 22 9 14

Hello @sreekala.a ,

Are you looking to request 65 currencies, using RFA.NET, streaming requests or snapshots?

Please refer to RFA.NET Developers Guide section Batch.

If you require snapshots, rather then streaming updates, please also review Non-streaming Request/Snapshot in the guide

Find included with your RFA.NET SDK an example "StarterConsumer_BatchView".

You can use this example to request a batch of 65 currencies, if you require price snapshots, then by not requesting "ReqMsg.InteractionTypeFlag.InterestAfterRefresh" and you will get Snapshots of the currencies.

The guts of the example, of submitting mulitple items in a single batch are in "SendBatchRequest" method.

---

Were there any modifications from the code that was working with EZD? How long ago it was working? This is the part that does not add up for me, as you mention that app was working against EZD. Is there any indication in LPC logs as to what the requests are not being successful?

icon clock
10 |1500

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

Upvotes
1 1 1 2

Hi zoya faberov ,We are Requesting streaming request. and request changed to batch request for 65 currencies in RequestRDMData method. This is how I retrieve the rate

RequestRDMData method

ReqMsg reqMsg = new ReqMsg(); reqMsg.MsgModelType = ThomsonReuters.RFA.RDM.RDM.MESSAGE_MODEL_TYPES.MMT_MARKET_PRICE;

reqMsg.InteractionType = (ReqMsg.InteractionTypeFlag.InitialImage | ReqMsg.InteractionTypeFlag.InterestAfterRefresh); AttribInfo attribInfo = new AttribInfo();

attribInfo.NameType = ThomsonReuters.RFA.RDM.RDM.INSTRUMENT_NAME_TYPES.INSTRUMENT_NAME_RIC;

attribInfo.ServiceName = serviceName; reqMsg.AttribInfo = attribInfo;

reqMsg.IndicationMask = ReqMsg.IndicationMaskFlag.Batch;

ElementList elementList = new ElementList();

ElementEntry element = new ElementEntry();

ElementListWriteIterator elwiter = new ElementListWriteIterator();

elwiter.Start(elementList);

ArrayWriteIterator arrWIt = new ArrayWriteIterator();

ThomsonReuters.RFA.Data.Array elementData = new ThomsonReuters.RFA.Data.Array();

//encode a ItemList for batch

arrWIt.Start(elementData);

DataBuffer dataBuffer = new DataBuffer();

ArrayEntry arrayEntry = new ArrayEntry();

for (int i = 0; i < Util.ForexCurrency.Count; i++) {

string currency = Util.ForexCurrency[i].ToString() + "=";

dataBuffer.Clear();

arrayEntry.Clear();

dataBuffer.SetFromString(new RFA_String(currency), DataBuffer.DataBufferEnum.StringAscii);

arrayEntry.Data = dataBuffer;

arrWIt.Bind(arrayEntry);

}

arrWIt.Complete();

element.Name = RDM.REQUEST_MSG_PAYLOAD_ELEMENT_NAME.ENAME_BATCH_ITEM_LIST;

element.Data = elementData;

elwiter.Bind(element);

elwiter.Complete();

reqMsg.Payload = elementList;

OMMItemIntSpec ommItemIntSpec = new OMMItemIntSpec();

ommItemIntSpec.Msg = reqMsg;

long handle = ommConsumer.RegisterClient(eventQueue, ommItemIntSpec, rdmClient,null);

Dispatch method process for 8000 doesnot process for 5000

int dispatchReturn = eventQueue.Dispatch(8000);

ProcessMarketPriceResponse

if ((respMsg.HintMask & RespMsg.HintMaskFlag.AttribInfo) != 0)

{

if ((hint & AttribInfo.HintMaskFlag.Name) != 0)

{ Cur = attribInfo.Name.ToString();}}

if ((respMsg.HintMask & RespMsg.HintMaskFlag.Payload) != 0)

{decoder.DecodeFieldList(respMsg.Payload, Cur);}

FieldListReadIterator it = new FieldListReadIterator();

it.Start(input);

while (!it.Off()) {

RDMFidDef fieldDef = rdmFieldDict.GetFidDef(it.Value.FieldID);

if (fieldDef != null) {

if (fieldDef.Name.ToString() == Util.Reuters_Currency){

string returnValue = DecodeFieldEntry(it.Value);

RateObject.CurrencyCode = CurrencyCode;

}

else if (fieldDef.Name.ToString() == Util.Reuters_ASK) {

string returnValue = DecodeFieldEntry(it.Value);

if (!string.IsNullOrEmpty(returnValue))

RateObject.AskRate = Convert.ToDecimal(returnValue);

}else if (fieldDef.Name.ToString() == Util.Reuters_BID) {

string returnValue = DecodeFieldEntry(it.Value);

if (!string.IsNullOrEmpty(returnValue))

RateObject.BidRate = Convert.ToDecimal(returnValue);

} else if (fieldDef.Name.ToString() == Util.Reuters_MID_PRICE) {

string returnValue = DecodeFieldEntry(it.Value);

if (!string.IsNullOrEmpty(returnValue))

RateObject.MidRate = Convert.ToDecimal(returnValue);

}

}

if (!string.IsNullOrEmpty(RateObject.CurrencyCode) && RateObject.MidRate != 0 && RateObject.BidRate != 0 && RateObject.AskRate != 0) {

break;

}

it.Forth();

}

In this way i retrieve the value for BID,MID_PRICE AND ASK RATE. Im getting currencies. but the end of the application im getting an error. How can i exit the application without error?


icon clock
10 |1500

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

Processing started at 1:18:21 and got response at 1:18:29 RDMClient.ProcessEvent.<- Received Event Stream Closed Event, event type: OMMItemEvent handle:

And at last process ended at 1:18:37

How can i solve this issue of dll error?

Capture1.JPG17-Sunday.txt

capture1.jpg (113.2 KiB)
17-sunday.txt (9.9 KiB)
Upvotes
1 1 1 2

I could solve the dll error issue.

icon clock
10 |1500

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

Upvotes
23k 22 9 14

Hello @sreekala.a,

Thank you for this information.

Dispatching 8000 works and 5000 does not quite sounds right to me. You continue dispatching in a loop after this, right?

Did you have a chance to see the dispatch loop of examples that came with RFA.NET 8 SDK, such as StarterConsumer_BatchView?

Typically, we dispatch in a loop, with a small timeout, such as:

while ((!CtrlBreakHandler.IsTerminated()) && (currentTime < endTime || endTime == startTime))
            {
                if (eventQueue != null)
                {
                    int dispatchReturn = eventQueue.Dispatch(10);

Dispatch dispatches events of they are available, otherwise, it blocks for the specified time awaiting the events and tying the application. Please see RFA.NET Developers Guide section "Dispatch from Event Queue" for the detailed description how dispatch works.

---

I have just re-tested example StarterConsumer_BatchView against our testbed LPC. Did not reproduce any issues, the example has connected and was receiving updates on all instruments in the batch.

---

I can think of two possible approaches:

First to test with example StarterConsumer_BatchView against your LPC, with your permissioned instruments. You can test with just a few, same as the example, so you do not have to type all 65 RICs. Once verified, next you can incorporate the same working subscription handling into your custom consumer. I would suggest to keep dispatch timeout in the dispatch loop small, and ProcessEvent callbacks light, while delegating any required time-consuming processing to worker threads, in order for your RFA.NET consumer to be able to process the incoming streaming traffic smoothly and speedily.

If you require more in-depth assistance with custom code, a preferred approach may be involving help from Premium Support by opening a premium support case. I see that your organization is a Premium Support member. You can therefore ask named users from your organization to open a premium support case on your behalf.

icon clock
10 |1500

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

Hi @zoya faberov For the premium Support, since we don't contact regularly, we don't know who it is, How can we change the premium support name? and how to open premium support ticket?

Upvotes
1 1 1 2

Hi @zoya faberov I have used StarterConsumer_BatchView methodbatchview.JPG. To get the response login takes time delay login.JPG.(getting stream closed event also)


batchview.jpg (72.7 KiB)
delay-login.jpg (269.5 KiB)
icon clock
10 |1500

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

Upvotes
23k 22 9 14

Hello @sreekala.a ,

To get the initial response from LPC on start-up may take a bit of time- if this is what you are seeing, the same delay should be observed by you when you connect with rmdstestclient, to LPC, is this delay consistent between the two consumers?

Are you continuing to see the updates on all your instruments? Are you logging stream closed fully, is it for one of your open items?

It can be:

2021/10/18 13:06:43.634 TRACE <- Received MMT_MARKET_PRICE Status
    streamState : Closed
    dataState   : Ok
    statusCode  : None
    statusText  : Process batch request message, batch stream is being closed
    Batch handle: 2410630049840
    itemFrom    : BatchItemList1

batch stream closed, when the separate streams for every request in the batch have been established.

Or

2021/10/18 13:06:44.037 TRACE <- Received MMT_MARKET_PRICE Status
    serviceName : ELEKTRON_DD
    symbolName  : XTO.N
    streamState : Closed
    dataState   : Suspect
    statusCode  : NotFound
    statusText  : **The record could not be found
    itemName    : XTO.N
    itemHandle  : 2410630053424
    itemFrom    : BatchItemList2
********************** INFO ************************ INFO **********************
2021/10/18 13:06:44.041 INFO
    <- Received Event Stream Closed Event, event type: OMMItemEvent handle: 2410630053424

record not found - stream closed.

icon clock
10 |1500

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

Click below to post an Idea Post Idea