question

Upvotes
Accepted
76 8 2 11

Error using EMA with TREP

Hi,
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)?
Thanks
Stephane

elektronrefinitiv-realtimeelektron-sdktrepema-apirrtelektron-message-apijava
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.

Upvotes
Accepted
24.6k 54 17 14

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:

  • The Ack attribute must be true
  • The message must contain the PostID attribute and value
  • The Key information includes Name and Service attributes that refer to the contribution RIC name and RCC contribution service name
  • The Message payload must be an Update message type
  • The Message payload must contain the same Key information as the Post message

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() );
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.

Upvote
32.2k 40 11 20

Hello @Stephane Rossi,

You may find useful to review the article

Contributing your data to Refinitiv,

toward the bottom of it, please see the links to tutorials, Java and C++,, for example

EMA Consumer - Posting data to Contribution Channel,

the tutorial comes with the downloadable code example, which should be useful to get started on the requirement.

Hope this helps.

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.

Upvotes
24.6k 54 17 14

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.

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.

Upvotes
76 8 2 11

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.


Regards

Stephane

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.

Upvotes
24.6k 54 17 14

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.


ahs-rcc.png (12.6 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.

Upvotes
76 8 2 11

Hi @wasin.waeosri

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

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.

Upvotes
76 8 2 11

Thanks, I see now my issue, I used a PostMsg instead of an UpdateMsg.
Now work fine, I can contribute to my RIC.

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.