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.

Hi @William.yang1099,

Thank you for your participation in the forum. Is the reply below satisfactory in resolving your query?

If so please can you click the 'Accept' text next to the appropriate reply? This will guide all community members who have a similar question.


Thanks,

AHS


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

Thanks,


AHS

Upvote
Accepted
24.6k 54 17 14

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
24.6k 54 17 14

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 ?

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.