EMA Java - RDMLogin stream was closed with status message A21 A required argument was NULL

I'm using EMA JAVA JDK.

My application logged in successfully and it has been receiving refreshMsg and updateMsg for some hours. After some time, my application got the sequence of status messages listed below.

Please note that the last message is: RDMLogin stream was closed with status message State: Closed/Suspect/Not entitled - text: A21: A required argument was NULL

What could be the origin of this error ?

Thanks


-------------------------------------------------------------------------------------------------------------------------------

2019-10-10 06:05:50,690 INFO com.earlymorning.jedi.realtime.RealtimeDataClient [pool-2-thread-1] StatusMsg
streamId="2128"
domain="MarketPrice Domain"
state="Open / Suspect / None / 'channel down.'"
name="TRGBPSU1"
serviceId="221"
serviceName="IDN_SELECTFEED"
StatusMsgEnd

2019-10-10 06:05:51,697 INFO com.thomsonreuters.ema.access.ChannelCallbackClient [pool-2-thread-1] loggerMsg
ClientName: ChannelCallbackClient
Severity: Info
Text: Received ChannelUp event on channel Channel
Instance Name EmaConsumer_1
Component Version ezd1.3.L6.win.rrg 64-bit
loggerMsgEnd


2019-10-10 06:06:06,717 WARN com.thomsonreuters.ema.access.LoginCallbackClient [pool-2-thread-1] loggerMsg
ClientName: LoginCallbackClient
Severity: Warning
Text: RDMLogin stream state was changed to suspect with status message
username <not set>
usernameType <not set>

State: Open/Suspect/None - text: ""
loggerMsgEnd


2019-10-10 06:06:11,738 ERROR com.thomsonreuters.ema.access.LoginCallbackClient [pool-2-thread-1] loggerMsg
ClientName: LoginCallbackClient
Severity: Error
Text: RDMLogin stream was closed with status message
username ******************************
usernameType 1

State: Closed/Suspect/Not entitled - text: "A21: A required argument was NULL
"
loggerMsgEnd

Best Answer

  • Hello @annamaria,

    A# messages are not generated by API, but rather conveyed by API from the infrastructure you are connecting to. A21 is related to DACS - Data Access Control System, that is used to verify user entitlements.

    Please see this discussion for more insight.

Answers

  • Hello Zoya,

    thanks for your help.

    I discovered that inside the last message there is the IP of EZD local application server


    2019-10-10 06:06:11,738 ERROR com.thomsonreuters.ema.access.LoginCallbackClient [pool-2-thread-1] loggerMsg
    ClientName: LoginCallbackClient
    Severity: Error
    Text: RDMLogin stream was closed with status message
    username <????> <IP of EZD application server>
    usernameType 1

    State: Closed/Suspect/Not entitled - text: "A21: A required argument was NULL
    "
    loggerMsgEnd


    Maybe this error is originated by a misconfiguration in EZD server ?

    Thanks

  • Hello @annamaria,

    If this is a new installation of EZD, and you are seeing an unexpected error, I would step back and first fully verify the installation of EZD with an independent pre-built test consumer client.

    The test client named "rmdstestclient" comes with EZD and is in demo folder. The documentation on how to run is in Demo Tools guide.

    It's a command line tool, something like:

    rmdstestclient -S ELEKTRON_DD -il JPY= -X -v -u YOURVALIDUSER

    Once you are able to consume an instrument and see updates using rmdstestclient, then you should be able to use the same validated parameters within a custom EMA app.

    You may find more info on installation, configuration and verification of EZD for developers in this article

  • Unfortunately I have no access to EZD installation.

    Soon after having reported this issue to people running EZD server, this "A21: A required argument was NULL" error didn't occurr any more.

    Now looking at the application logs, I could see some other EZD disconnection, but now OmmConsumer succeds in logging again and recovering the connection.

    Thanks for your help.