question

Upvotes
Accepted
19 2 3 8

Login with AuthenticationToken fails with "A21: A required argument was NULL"

Using ETA. After requesting Authentication Token from api.edp.thomsonreuters.com, sending login request with RDM_LOGIN_USER_AUTHN_TOKEN fails with following XML dump.

<!-- Outgoing Message (Channel IPC descriptor = 300) --> <!-- Time: 17:09:09:247 --> <!-- rwfMajorVer="14" rwfMinorVer="1" --> <requestMsg domainType="RSSL_DMT_LOGIN" streamId="1" containerType="RSSL_DT_NO_DATA" flags="0x4 (RSSL_RQMF_STREAMING)" dataSize="0"> <key flags="0x26 (RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE|RSSL_MKF_HAS_ATTRIB)" name="" nameType="5" attribContainerType="RSSL_DT_ELEMENT_LIST"> <attrib> <elementList flags="0x8 (RSSL_ELF_HAS_STANDARD_DATA)"> <elementEntry name="AuthenticationToken" dataType="RSSL_DT_ASCII_STRING" data="eyJ0...dnFQ"/> <elementEntry name="ApplicationId" dataType="RSSL_DT_ASCII_STRING" data=""/> <elementEntry name="ApplicationName" dataType="RSSL_DT_ASCII_STRING" data="MyApp"/> <elementEntry name="Position" dataType="RSSL_DT_ASCII_STRING" data="203.82.139.57/net"/> <elementEntry name="Password" dataType="RSSL_DT_ASCII_STRING" data=""/> <elementEntry name="ProvidePermissionProfile" dataType="RSSL_DT_UINT" data="1"/> <elementEntry name="ProvidePermissionExpressions" dataType="RSSL_DT_UINT" data="1"/> <elementEntry name="SingleOpen" dataType="RSSL_DT_UINT" data="1"/> <elementEntry name="AllowSuspectData" dataType="RSSL_DT_UINT" data="1"/> <elementEntry name="InstanceId" dataType="RSSL_DT_ASCII_STRING" data=""/> <elementEntry name="Role" dataType="RSSL_DT_UINT" data="0"/> <elementEntry name="DownloadConnectionConfig" dataType="RSSL_DT_UINT" data="0"/> </elementList> </attrib> </key> <dataBody> </dataBody> </requestMsg> <!-- End Message (Channel IPC descriptor = 300) --> <!-- Incoming Message (Channel IPC descriptor = 300) --> <!-- Time: 17:09:09:965 --> <!-- rwfMajorVer="14" rwfMinorVer="1" --> <statusMsg domainType="RSSL_DMT_LOGIN" streamId="1" containerType="RSSL_DT_NO_DATA" flags="0x28 (RSSL_STMF_HAS_MSG_KEY|RSSL_STMF_HAS_STATE)" dataState="RSSL_DATA_SUSPECT" streamState="RSSL_STREAM_CLOSED" code="RSSL_SC_NOT_ENTITLED" text="A21: A required argument was NULL " dataSize="0"> <key flags="0x6 (RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)" name="AQIC5wM2LY4SfcyEv7EctbMBiSrxg2neEMJtq5eZC59yK%2Bg%3D%40AAJTSQACNDAAAlNLABQtNTkxNzkxMTMxMjc0MzIxNTI2NwACUzEAAjM2%23" nameType="1"/> <dataBody> </dataBody> </statusMsg> <!-- End Message (Channel IPC descriptor = 300) --> <!-- rsslCloseChannel Connection closed (Channel IPC descriptor = 300) --> <!-- Time: 17:09:09:965 -->

When trying to login with expired token, error message is different and clearly indicates that token has expired.

What is missing argument here?

elektronrefinitiv-realtimeelektron-sdkrrteta-apielektron-transport-apilog-in
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.

Upvote
Accepted
7.6k 15 6 9

@Serge

Basically the status message come from DACS and from the XML it looks like you did not set the ApplicationId in the request message. Please set it to a default value such as 256 and try again.

<elementEntry name="ApplicationId" dataType="RSSL_DT_ASCII_STRING" data=""/> 
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.

Upvotes
19 2 3 8

@moragodkrit

Yes, that was it. I can now login and get real-time data.

Thank you very much.

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.