Discover Refinitiv
MyRefinitiv Refinitiv Perspectives Careers
Created with Sketch.
All APIs Questions & Answers  Register |  Login
Ask a question
  • Questions
  • Tags
  • Badges
  • Unanswered
Search:
  • Home /
  • TREP APIs /
avatar image
Question by RicknBaker · Feb 14, 2018 at 09:59 AM · rfa.netvalueaddclosemsggenericmsg

RFA.NET - ADS Sending Close Message

Hi all.

I have a .Net Provider and Consumer happily chatting to each other over TREP using Generic Messages. Both sides are implemented with ValueAdd.

Before they start exchanging messages, I establish the stream with a request / response handshake as documented. I'm setting InitialImage | InterestAfterRefresh which I thought would keep the stream open. However, I've noticed that after a period of inactivity, my Consumer seems to send a magic closeMsg:

<!-- Outgoing Message to 'xxxxx:14002' on 'localhost' interface --> (server name removed for security)

<!-- Time: 14:21:38:003 -->

<!-- rwfMajorVer="14" rwfMinorVer="0" -->

<closeMsg domainType="202" streamId="3" containerType="RSSL_DT_NO_DATA" flags="0x0" dataSize="0">

<dataBody> </dataBody>

</closeMsg>

There's nowhere in my code where I submit a close message, so I guess it's something within the RFA library that creates this message.

When I receive this at my Provider, I assume the Consumer has shut down and so I stop chatting:

<!-- Incoming Message from 'xxxxx' on 'localhost' interface -->

<!-- Time: 14:21:38:047 -->

<!-- rwfMajorVer="14" rwfMinorVer="0" -->

<closeMsg domainType="202" streamId="4384855" containerType="RSSL_DT_NO_DATA" flags="0x0" dataSize="0">

<dataBody> </dataBody>

</closeMsg>

This is not what I want! So how can I suppress this mysterious Close Message that originates from my Consumer? Or failing that, is there any way to differentiate between a valid close message sent when the Consumer shuts down and this spurious one?

Thanks

Rick

People who like this

0 Show 0
Comment
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

4 Replies

  • Sort: 
avatar image
Best Answer
Answer by RicknBaker · Mar 06, 2018 at 08:46 AM

OK, I figured this out.

I wasn't setting RespMsg.IndicationMaskFlag.RefreshComplete; on my response message,. I guess the adapter didn't relalise that the initial request had been fulfilled, so it closed and re-issued it.

Thanks for your help - Playing with the requestTimeout value alerted me as to what was going on.

Comment
jirapongse.phuriphanvichai

People who like this

1 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
REFINITIV
Answer by zoya.farberov · Feb 22, 2018 at 04:43 PM

Hello @RicknBaker,

There not supposed to be a limit to communication between consumer and provider, unless it's provisioned by the application designer, such as, for instance, our example applications from SDKs, many of them run for a short period of time, then exit gracefully.

If this behavior is not copied from example code, the the only way to find out why would be to take a look at the code.

You could attach the code here, and we will try to reproduce.

Or if you are a Thomson Reuters Developer Connect member, you could submit a TRDC request and it will be investigated by our TRDC developer support.

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
Answer by RicknBaker · Mar 05, 2018 at 11:41 AM

Hi Zoya. My application is loosely based around the ValueAdd example provider / consumer pair. If you turn on logging, you can see that they exhibit the exact same behavior that I've got: Every 45 seconds, the consumer issues a CloseMsg, followed immediately by a new RequestMsg which re-establishes the stream. I'd rather not send the close / request pair. How can I avoid this?

There are no timers in my code.

Thanks

Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

avatar image
REFINITIV
Answer by moragodkrit.chumsri_1 · Mar 05, 2018 at 10:32 PM

@RicknBaker

Do you have full tracing log on consumer side? Just want to see all message consumer send and receive before it get the close message.

The time you mentioned, it may relate with parameter reqeustTimeout in RFA config. The default value is 45 sec. See RFA configuration section 3.1.1 RSSL Type Connection (RSSL Consumer).

The parameter may or may not relate with the close message you found. For testing purpose you may change it to 0 so the requests never timeout. Or you may change it to other value to see if you still get the close message in every 45 sec or not.

\Connections\Connection_RSSL\requestTimeout = 0

If the problem persists please open a new case to API support as suggestion by Zoya.


rfaconfig.png (10.4 KiB)
Comment

People who like this

0 Show 0 · Share
10 |1500 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

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

Watch this question

Add to watch list
Add to your watch list to receive emailed updates for this question. Too many emails? Change your settings >
7 People are following this question.

Related Questions

I am currently migrating in house application from SLL/MarketFeed -->RSSL/OMM and found that original code is using Interop.SSLConfig.dll, Interop.SSLRecord.dll. Do we have similar Interop DLLs available for RSSL with latest RFA ?

RFA.NET API - A27: Synchronization Error. Recalling

Received GenericMsg on not established stream

Generic Message Payload Size?

How can i request for a snapshot data while my streaming request is also ongoing?

  • Feedback
  • Copyright
  • Cookie Policy
  • Privacy Statement
  • Terms of Use
  • Careers
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Alpha
  • App Studio
  • Block Chain
  • Bot Platform
  • Calais
  • Connected Risk APIs
  • DSS
  • Data Fusion
  • Data Model Discovery
  • Datastream
  • Eikon COM
  • Eikon Data APIs
  • Elektron
    • EMA
    • ETA
    • WebSocket API
  • Legal One
  • Messenger Bot
  • Messenger Side by Side
  • ONESOURCE
    • Indirect Tax
  • Open PermID
    • Entity Search
  • Org ID
  • PAM
    • PAM - Logging
  • ProView
  • ProView Internal
  • Product Insight
  • Project Tracking
  • Refinitiv Data Platform
    • Refinitiv Data Platform Libraries
  • Rose's Space
  • Screening
    • Qual-ID API
    • Screening Deployed
    • Screening Online
    • World-Check One
    • World-Check One Zero Footprint
  • Side by Side Integration API
  • TR Knowledge Graph
  • TREP APIs
    • CAT
    • DACS Station
    • Open DACS
    • RFA
    • UPA
  • TREP Infrastructure
  • TRIT
  • TRKD
  • TRTH
  • Thomson One Smart
  • Transactions
    • REDI API
  • Velocity Analytics
  • Wealth Management Web Services
  • World-Check Data File
  • Explore
  • Tags
  • Questions
  • Badges