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