question

Upvotes
Accepted
7 1 0 3

RFA login response with LPC

Hi all,

I'm facing an issue using RFA library and LPC.

We have been using the RFA library for years in our java framework without issues.

Recently one of our clients had the necessity to connect to Elektron ERT and not to TREP.

Using Ema API was not an option and they decided to install LPC so that we could still use the RFA library.

However we are facing some issues.

When the application executes the login request, we get a ValueAddException when we receive the OMMMsg of Login Type () and we try to do make a RDMLoginResponse out of it:

RDMLoginResponse lresp = new RDMLoginResponse(respMsg);

The error we see in our application is this

com.thomsonreuters.rfa.valueadd.util.ValueAddException: Name field not set.
    at com.thomsonreuters.rfa.valueadd.domainrep.rdm.login.RDMLoginResponseAttrib.decode(Unknown Source)
    at com.thomsonreuters.rfa.valueadd.domainrep.rdm.login.RDMLoginResponseAttrib.<init>(Unknown Source)
    at com.thomsonreuters.rfa.valueadd.domainrep.rdm.login.RDMLoginResponse.decode(Unknown Source)
    at com.thomsonreuters.rfa.valueadd.domainrep.rdm.login.RDMLoginResponse.<init>(Unknown Source)
    at com.thomsonreuters.solutions.ask.Adapters.Generic.InputAdapters.RDM.Clients.CoreClient.processLoginResp(CoreClient.java:647)

This at first does not prevent the application to be connected to Elektron and work as expected.

However, if some disconnection occurs after, our components tries to re-login. Again we get the error above, but this time the application can't connect any more.

Checking the LPC log, we see that at the start up we get:

<XXX.1.lpc: Info: Wed Feb 17  22:58:24.022398 2021>
RSSL client login ipcSession.201 on socket ID: 12 from IP YYY.YYY.Y.Y.
<END>

<XXX.1.lpc: Info: Wed Feb 17  22:58:34.826978 2021>
Standard endpoint found via Service Discovery. Using endpoint address zzz.streaming-pricing-api.refinitiv.com and port 14002.
<END>

<XXX.1.lpc: Info: Wed Feb 17  22:58:38.412523 2021>
Successfully connected secure socket 16 secureChannel.33 to host zzz.streaming-pricing-api.refinitiv.com, component version: ads3.4.2.L1.linux.tis.rrg 64-bit.  Secure socket associated with client session ipcSession.201.  Sending Login message.
<END>

while for what concerns the disconnection

<XXX.1.lpc: Info: Sun Feb 14  07:58:30.592246 2021>
Disconnecting secure channel secureChannel.4.  Disconnecting user socket 12 from host YYY.YYY.Y.Y.  Reason: Program received channel reconnecting notification for secureChannel.4 socket 15 associated with ipcSession.4. Error: -1Channel ping timeout expired.
<END>

<XXX.1.lpc: Info: Sun Feb 14  07:58:30.592299 2021>
Logging out client ipcSession.4 on socket 12 from source YYY.YYY.Y.Y. Removing secure channel socketId (no session). Reason from client: Disconnecting secure channel secureChannel.4.  Disconnecting user socket 12 from host YYY.YYY.Y.Y.  Reason: Program received channel reconnecting notification for secureChannel.4 socket 15 associated with ipcSession.4. Error: -1Channel ping timeout expired..
<END>

<XXX.1.lpc: Info: Sun Feb 14  07:59:00.601939 2021>
RSSL client login ipcSession.5 on socket ID: 12 from IP YYY.YYY.Y.Y.
<END>

<XXX.1.lpc: Warning: Sun Feb 14  07:59:00.607143 2021>
Error querying service discovery: Failed to send a request to the token service. Text: </local/jenkins/workspace/RRTLPC/OS/OL7-64/esdk/source/esdk/Cpp-C/Eta/Impl/Reactor/Util/rsslRestClientImpl.c:1594> Error: Failed to perform the request with text: Couldn't resolve host name
<END>

<XXX.1.lpc: Error: Sun Feb 14  07:59:00.607185 2021>
Login failure for RWF user "ert_aramco" at host YYY.YYY.Y.Y.  Text:Error querying service discovery: Failed to send a request to the token service. Text: </local/jenkins/workspace/RRTLPC/OS/OL7-64/esdk/source/esdk/Cpp-C/Eta/Impl/Reactor/Util/rsslRestClientImpl.c:1594> Error: Failed to perform the request with text: Couldn't resolve host name
<END>

<XXX.1.lpc: Info: Sun Feb 14  07:59:04.005646 2021>
Logging out client ipcSession.5 on socket 12 from source YYY.YYY.Y.Y. Removing secure channel socketId (no session). Reason from client: rsslRead() failed with code -1 and system error 11. Text: </local/jenkins/workspace/RRTLPC/OS/OL7-64/esdk/source/esdk/Cpp-C/Eta/Impl/Transport/rsslSocketTransportImpl.c:669> Error:1002 ipcRead() failure. Connection reset by peer
.
<END>

RFA library is 8.0.1.E3

I have seen there is a similar issue regarding the login response here: https://community.developers.refinitiv.com/questions/57755/legacy-protocol-converter-not-able-to-give-respons.html

What could be the issue?

Thanks

treprfarfa-api
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.

Thank you for your participation in the forum.
Is the reply below satisfactory in resolving your query?
If yes, please click the 'Accept' text next to the appropriate reply. This will guide all community members who have a similar question. Otherwise please post again offering further insight into your question.
Thanks,
-AHS


Hello @Daniela Ottino,

Please be informed that a reply has been verified as correct in answering the question, and has been marked as such.

Thanks,

-AHS

1 Answer

· Write an Answer
Upvotes
Accepted
32.2k 40 11 20

Hello @Daniela Ottino,

Please review the accepted answer in the thread as you have pointed. The issue that was causing the timeout and was investigated, was fixed in JRFA 8.2. Please download JRFA 8.2 and try running a simple consumer example (EMA MarketPrice 100?), to confirm that the example is consuming as expected via LPC, that this is the same issue?

Let us know how this works for you

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.

@zoya.farberov The thread I pointed refer to version 8.1.3.L1, not to 8.2,. However the latest available on bams for rfa is 8.1.2.L1, while the latest for rfa.ValueAdd_XXX are even older.

Hello @Daniela Ottino,

This is correct. The fix was available in 8.1.3.L1. The current latest version is 8.2. I would suggest to try with the latest version JRFA 8.2, rather then 8.1.3.L1.

JRFA 8.2 is currently available in Dev Portal RFA Downloads, it is not general access, as a member of API family, you will have to be logged in, request, be approved.

Alternatively, it is also available in My Refinitiv Software Downloads with Refinitiv account login.

Please let us know how this works for you.

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.