I'm migrating an application using JFCS Api with MLIP to EMA Api with TRCC to publish data.
I'm connecting over TREP.
I used the Java exemple Consumer - 341 and I get this error:
F62: Tunnel stream aggregation does not support item requests.
Any info about the error? Or better exemple for my use case, I need to send text to quote page for FIDs ROW80_2 to 25 (316 to 339)?
Hello @Stephane Rossi
Could you please share your Post message snippet code, full Nack message text, and enable the XML trace message? You can see how to enable the EMA XML trace in "EMA Java Logging" section of the EMA Configuration Overview article.
Please note that the RCC Off-Stream Post message must have the following conditions:
My modification code is the following:
FieldList nestedFieldList = EmaFactory.createFieldList(); nestedFieldList.add(EmaFactory.createFieldEntry().real(22, 34, OmmReal.MagnitudeType.EXPONENT_POS_1)); nestedFieldList.add(EmaFactory.createFieldEntry().real(25, 35, OmmReal.MagnitudeType.EXPONENT_POS_1)); // create an update message for our item UpdateMsg nestedUpdateMsg = EmaFactory.createUpdateMsg() .streamId(postId) .name("<CONTRIBUTION_RIC>" ) .payload(nestedFieldList); PostMsg postMsg = EmaFactory.createPostMsg(); ((OmmConsumer)event.closure()).submit( postMsg.postId( postId++ ).serviceName( "TRCC" ) .name( "<CONTRIBUTION_RIC>" ).solicitAck( true ).complete(true) .payload(nestedUpdateMsg), event.handle() );
Hello @Stephane Rossi,
You may find useful to review the article
toward the bottom of it, please see the links to tutorials, Java and C++,, for example
the tutorial comes with the downloadable code example, which should be useful to get started on the requirement.
Hope this helps.
Hello @Stephane Rossi
Please be informed that the RCC service supports data contribution only, not data subscription.
The EMA 341 example (ex341_MP_OffStreamPost) sends the OMM off-stream post message and also subscribes streaming data from Refinitiv Real-Time for the same service by default. The example aims for contributing data to Refinitiv Real-Time infrastructure internal cache or the ATS server scenarios which contribution service also supports data subscription.
You need to use the RCC example "rcc-contribution-example" which mentioned by my colleague @zoya.farberov above.
Hi @zoya.farberov and @wasin.waeosri
Thanks but your exemple it is without TREP. I have TREP on my case then the login is normally different and no need a encrypted tunnel.
The team from Refinitiv who installed the new TREP/TRCC don't give me RCC login information, only TREP host and port.
Hello @Stephane Rossi
Thank you for the information. Please be informed that when the ADS server is connecting to RCC, the RCC service on ADS will support data contribution only, not data subscription (the same as a direct connection).
If you are trying to subscribe data from the ADS server via that RCC service, the API will get "Item State: Closed / Suspect / None / 'F62: Tunnel stream aggregation does not support item requests.'" from the backend.
I have modified the ex341_MP_OffStreamPost to subscribe the contribution RIC from service name "ELEKTRON_DD" and sends Off-Stream Post message to my "TRCC" service.
The application can contribute data to RCC via "TRCC" service and subscribe to the same RIC via "ELEKTRON_DD" service successfully.
I only need to contribute data, no need to subscribe.
I try to remove the subscribe part of the ex341 and now I get the "Nack Code" DeniedBySource message when posting.
Login to TREP work fine:
Received Refresh. Item Handle: 1 Closure: com.refinitiv.ema.access.OmmConsumerImpl@283b28be
Item Name: xxxxxx
Service Name: <not set>
Item State: Open / Ok / None / 'Login accepted by host xxxxxxxx.'
Name = AllowSuspectData DataType: UInt Value: 1
Name = ApplicationId DataType: Ascii Value: 256
Name = ApplicationName DataType: Ascii Value: ADS
Name = Position DataType: Ascii Value: 192.168.1.117/xxxxxxxx
Name = ProvidePermissionExpressions DataType: UInt Value: 1
Name = ProvidePermissionProfile DataType: UInt Value: 0
Name = SingleOpen DataType: UInt Value: 1
Name = SupportEnhancedSymbolList DataType: UInt Value: 1
Name = SupportOMMPost DataType: UInt Value: 1
Name = SupportPauseResume DataType: UInt Value: 0
Name = SupportStandby DataType: UInt Value: 0
Name = SupportBatchRequests DataType: UInt Value: 7
Name = SupportViewRequests DataType: UInt Value: 1
Name = SupportOptimizedPauseResume DataType: UInt Value: 0