For a deeper look into our Elektron API, look into:

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
1 1 1 2

[900]: Service Denied. RIC creation using ATS_INSERT_S

Hi,

Im trying to write java program using EMA API to create RIC record on ATS. I have been following all the steps as documented here :

Implementing Refinitiv Real-Time APIs applications to work with ATS - Part 1 | Refinitiv Developers

But still got ack that says [900]: Service Denied. Referring to refinitiv documentation, it says "the record is incorrect or does not exist".

Here is the post message sent to ATS:

<!-- Outgoing Reactor message -->
<!-- java.nio.channels.SocketChannel[connected local=/10.21.248.34:64121 remote=/10.18.31.20:14002] -->
<!-- Wed May 18 10:53:59 ICT 2022 -->
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<POST domainType="MARKET_PRICE" streamId="1" containerType="MSG" flags="0x66 (HAS_POST_ID|HAS_MSG_KEY|POST_COMPLETE|ACK)" postId="1" postUserId="24820" postUserAddr="10.21.248.34" dataSize="42">
    <key flags="0x03 (HAS_SERVICE_ID|HAS_NAME)" serviceId="262" name="ATS_INSERT_S"/>
    <dataBody>
        <REFRESH domainType="MARKET_PRICE" streamId="0" containerType="FIELD_LIST" flags="0x00" groupId="0" State: Open/Ok/None - text: "" dataSize="26">
            <dataBody>
                <fieldList flags="0x08 (HAS_STANDARD_DATA)">
                    <fieldEntry fieldId="-1" data="4D59 5F4E 4557 5F52 4943"/>
                    <fieldEntry fieldId="22" data="0F0C"/>
                    <fieldEntry fieldId="25" data="0F0F"/>
                </fieldList>
            </dataBody>
        </REFRESH>
    </dataBody>
</POST>

And here is the ack :

<!-- Incoming Reactor message -->
<!-- java.nio.channels.SocketChannel[connected local=/10.21.248.34:64121 remote=/10.18.31.20:14002] -->
<!-- Wed May 18 10:53:59 ICT 2022 -->
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
<ACK domainType="MARKET_PRICE" streamId="1" containerType="NO_DATA" flags="0x32 (HAS_TEXT|HAS_MSG_KEY|HAS_NAK_CODE)" ackId="1" nakCode="132" text="[900]: Service Denied                                                                                                           " dataSize="0">
    <key flags="0x07 (HAS_SERVICE_ID|HAS_NAME|HAS_NAME_TYPE)" serviceId="262" name="ATS_INSERT_S" nameType="1"/>
    <dataBody>
    </dataBody>
</ACK>

2022-05-18 10:53:59.323  INFO 24820 --- [pool-2-thread-1] c.t.e.ommconsumer.SubmissionAppClient    : AckMsg
    streamId="1"
    domain="MarketPrice Domain"
    ackId="1"
    nackCode="Unknown NackCode value 132"
    text="[900]: Service Denied"                                                                                                          
    name="ATS_INSERT_S"
    nameType="1"
    serviceId="262"
AckMsgEnd

I have set ENABLE_INSERT_CONTRIB to TRUE in ats.params. I have also add X_RIC_NAME in both my local RDMFieldDictionary and ATS server RDMFieldDictionary (/opt/thomsonreuters/globalConfig/RDMFieldDictionary) as specified in rdms.cnf.


1652847452824.png

Anyone has idea why it still fails ?

And a few questions though. Why RDMFieldDictionary by default doesn't come with negative fid such as X_RIC_NAME so that we have to add it manually ?

is ENABLE_INSERT_CONTRIB the only thing i have to set in ATS server ? do i have to set any permission or some other things ?

What is NACK code 132 and how it could be unknown.

Thank you for your help.

elektronrefinitiv-realtimetrepema-apiapiricsjavafieldsOMMATS
1652847452824.png (31.8 KiB)
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
16.9k 32 9 12

Hello @William.yang1099

By default, the RDMFieldDictionary file should be in your <RTDS installation path>/etc/ folder.

I highly recommend you check with your Market data team to help you.

If the problem still persists, I highly recommend you contact the ATS support team directly. This error message is generated from the RTDS-ATS, so it may require the server team to verify the issue. You can submit a ticket to the ATS support team via the https://my.refinitiv.com/content/mytr/en/productsupport.html link and choose "Refinitiv Real-Time Advanced Transformation Server" Product.

contact-ats-support.png


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
16.9k 32 9 12

Hello @William.yang1099

Do your connection diagram looks like this?

EMA Application --> RTDS (ADS/ADH) --> ATS

If so, please be informed that the RTDS's RDMFieldDictionary file must contain the same ATS X_RIC_NAME field definition too.

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.

Hi @wasin.w ,

Do you know where i could find RDMFieldDictionary in RTDS ?