Ema - no payload for batch requests in IProvider
Hello,
I am using EMA Refinitiv version 3.8.3.0 and I have implemented a consumer based on example ex370_MP_Batch. I have also created a stub component based on Provider example 102_MP_Snapshot.
Consumer communicates correctly with the provider, however provider does not receive the payload for batch request.
My use case is very similar use case as in this discussion
https://community.developers.refinitiv.com/discussion/101672/ema-batch-and-view-requests-to-iprovider?utm_source=community-search&utm_medium=organic-search&utm_term=EMA+batch
So I have enabled ENAME_SUPPORT_BATCH.
Still provider is not receiving a payload.
Do I need to do something extra in EMA 3.8.3.0 version?
How can I troubleshoot this, is there a place in EMA library that I can debug to get more information?
Thanks
Grzegorz
Answers
-
Hello @Grzegorz,
Can you please provide the logs from what messages you receive. The batch request in the Java version of EMA is sent as individual subscription requests, so you should have received multiple subscribe messages in the iprovider.
ReqMsg streamId="3" domain="MarketPrice Domain" name="CAD=" serviceId="1" serviceName="DIRECT_FEED" ReqMsgEnd ReqMsg streamId="4" domain="MarketPrice Domain" name="JPY=" serviceId="1" serviceName="DIRECT_FEED" ReqMsgEnd . . .
You can also enable OMM logging to capture the messages sent and received by the SDK.
1 -
Hello Gurpreet,
Thanks for the quick reply.
I am new to Refinitiv and I need to clarify my question a bit, sorry for that.
This is a part of consumer example series300.ex370_MP_Batch.array.add(EmaFactory.createOmmArrayEntry().ascii("TRI.N"));
array.add(EmaFactory.createOmmArrayEntry().ascii("IBM.N"));
batch.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_BATCH_ITEM_LIST, array));
consumer.registerClient(EmaFactory.createReqMsg().serviceName("DIRECT_FEED").payload(batch), appClient);So here the Consumer is registering a client using request message and that request message has a payload.
The payload contains all of the instruments needed.
So my only questions regarding this are:
1. Will the provider (e.g. Provider example ex102_MP_Snapshot) receive the batch payload?
2. Is there a possibility to retrieve this batch in some callback method from the interface OmmProviderClient?
Besides that the example works fine for me.
Consumer sends proper ReqMsgs and Provider responds back with the proper messages containing the payload.ReqMsg
streamId="12"
domain="MarketPrice Domain"
name="/LLOY.L"
serviceId="1"
serviceName="DIRECT_FEED"
ReqMsgEndThanks
Grzegorz0 -
Although the application includes batch requests in the payload, EMA processes each item individually. Therefore, with the following code, EMA will send two item requests to the provider.
array.add(EmaFactory.createOmmArrayEntry().ascii("TRI.N"));
array.add(EmaFactory.createOmmArrayEntry().ascii("IBM.N"));
batch.add(EmaFactory.createElementEntry().array(EmaRdm.ENAME_BATCH_ITEM_LIST, array));
consumer.registerClient(EmaFactory.createReqMsg().serviceName("DIRECT_FEED").payload(batch), appClient);The provider will retrieve two item requests.
If you would like to test batch requests in the EMA IProvider, you need to run the ETA Consumer example.
0 -
After receiving a batch request, the IProvider needs to send responses for each item with an unique handle.
However, I couldn't find a way for the IProvider to generate an unique handle for each item.If you have a RDC contact, you can submit this question to the API support team directly via Contact Premium Support. Otherwise, you can submit this question on GitHub.
0 -
Thanks for the quick reply.
That answers my question.
Thanks
Grzegorz0
Categories
- All Categories
- 3 Polls
- 6 AHS
- 37 Alpha
- 167 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 702 Datastream
- 1.5K DSS
- 633 Eikon COM
- 5.2K Eikon Data APIs
- 14 Electronic Trading
- 1 Generic FIX
- 7 Local Bank Node API
- 6 Trading API
- 2.9K Elektron
- 1.5K EMA
- 257 ETA
- 566 WebSocket API
- 40 FX Venues
- 16 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 25 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 283 Open PermID
- 47 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 24 RDMS
- 2.1K Refinitiv Data Platform
- 826 Refinitiv Data Platform Libraries
- 4 LSEG Due Diligence
- LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 27 DACS Station
- 122 Open DACS
- 1.1K RFA
- 107 UPA
- 195 TREP Infrastructure
- 232 TRKD
- 918 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 100 Workspace SDK
- 11 Element Framework
- 5 Grid
- 19 World-Check Data File
- 1 Yield Book Analytics
- 48 中文论坛