MRN WebSocket A18: Unknown service

Hi!

I use example of application from https://developers.refinitiv.com/en/article-catalog/article/creating-websocket-mrn-story-viewer-using-net-core-and-wpf article. I cloned repository (https://github.com/Refinitiv-API-Samples/Example.WebSocketAPI.CSharp.MRNWebSocketViewer) and trying to run application. As far as I understand WebSocket connection is established and login request is accepted by RTDS server. But after that status event is received and connection is closed.

"MRN_STORY Status:: data state:Suspect stream state:Closed code:SourceUnknown status text:A18: Unknown service."

Could you please advise what can be wrong?

Thanks!

Tagged:

Best Answer

  • zoya faberov
    zoya faberov ✭✭✭✭✭
    Answer ✓

    Hello @pavel.kropachev ,

    The article you refer to is an excellent resource for MRN integration with .NET Core. The request format has been enhanced since its publication, and the article companion code has become slightly outdated: it uses short form of the request, relying on the default service, that used to be supported. At present, an explicit service parameter is required in the subscription request.

    You will need to confirm the name of elektron service that is made available by your local RTDS with your local market data admin/group.

    Next, to update the service name in the MRN request, if, for example, your elektron service is named "ELEKTRON_DD", update the code at the point where MRN request is issued, for example:

           public async Task SendMrnStoryRequest(int streamId, string storyItem = "MRN_STORY")
    {
    var serviceName = "ELEKTRON_DD";
    var marketPriceReq = new ReqMessage
    {
    ID = streamId,
    Domain = DomainEnum.NewsTextAnalytics,
    // Key = new MessageKey {Name = new List<string> {storyItem}, NameType = NameTypeEnum.Ric}
                   Key = new MessageKey { Name = new List<string> { storyItem }, Service = serviceName }

    };
    await ClientWebSocketUtils.SendTextMessage(_websocket.WebSocket, marketPriceReq.ToJson()
    }

    Hope this information helps

Answers