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

Overview |  Quickstart |  Documentation |  Downloads |  Tutorials |  Articles

question

Upvotes
Accepted
43 1 1 4

Websocket Contribution to an ATS which use PE/PPE Permission

Hi Team,I have a ATS Server which use ATS PE/PPE Permission. I want to send contribution to this ATS via Websocket. But got the error message "A29: Post message did not contain permission data."
In Eikon Excel I just need to send Fid: PROD-PERM with PPE of the ATS Container.
Can set .permissionData(ByteBuffer.wrap() in Websocket?

Best Regards
Michael

treprdp-apiwebsocketsrrto
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

10 Answers

Upvotes
Accepted
43 1 1 4

Hi Veerpath, thank you for your reply. With the correct DACS Lock is woks perfect.
I'll now look into my DACS Lock generation because there is something wrong on my side.
Thank you very much for your support. I will search now again for the DACS lock documentation.

Best Regards

Michael

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
11.3k 25 8 13

Hi @michael.theimer

You create a DACS Lock using the DacsLock API from other APIs (i.e. ETA Java) and set it in the "PermData" attribute of Post Message. However, the "PermData" attribute is a buffer, so you need to encode the DACS Lock in Base64 string before setting it in the "PermData".

For example, "PermData": "AwABECc=" for DACS Lock is 0x0300011027.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
43 1 1 4

Hi Veerpath,
are you able to give me an example for ETA?
I want to use Web Socket API.
Best Regards

Michael

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Hi @michael.theimer

I haven't tried it yet, but I believe you could just add "PermData" attribute to the post json body.

{
  "Ack":true,
  "Domain":"MarketPrice",
  "ID":2,
  "PermData":"AwABECc=",
  "Message":{
    "Domain":"MarketPrice",
    "Fields":{
      "ASK":45.57
    },
    "ID":0,
    "Type":"Update"
  },
  "PostID":1,
  "PostUserInfo":{
    "Address":"127.0.0.1",
    "UserID":10000
  },
  "Type":"Post"
}<br>

See the Websocket doc on post message .

Upvotes
43 1 1 4

Service ID: 3333 PE: 2000

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
11.3k 25 8 13

Hi Michael,

The example application, authlock, is provided in the Elektron SDK Package. The location is \Java\Eta\Applications\Examples\src\main\java\com\thomsonreuters\upa\examples\authlock.

For more information about the DACS library, please see the ETAJ_DacsLibraryFunctions.pdf in ETA Docs folder of the package.

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
43 1 1 4

Hi Veerpath,
it still not working. What encoded String you get out for ServiceID=333 and PE=2000?

Kind Regards

Michael

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
43 1 1 4

My String for PermData => "w599w7Y=" (ServiceId=333,PE=2000)

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
43 1 1 4

Hi Veerpath,
I have now tried many things but it still not working.
I got a mail from you via the portal which mention to use: "PermData":"0x0300011027",
but in the portal I see "PermData":"AwABECc=".?
Strange is also that I got no response from ADS after the Post MSG?

Can you please test it on your side to be sure it's working?

I have ServiceId:333 and PE:2000 and my PermDate in the PostMSG is: w599w7Y=

Thank you very much for your support.

Kind Regards

Michael

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Sorry for confusing you. The PermData : 0x0300011027 is not valid PermData. The “C” flags, the end of the DACS Lock, is missing. You can find more information about DACS Lock structure in the ETAJ_DacsLibraryFunctions.pdf document.

dacslockarray.png (148.2 KiB)
Upvotes
43 1 1 4

Hi Veerpath,
was you already able to check my PermData String?
Is w599w7Y= correct for ServiceId:333 and PE:2000?

Also was you able to test it on your end so far?
Best regards

Michael

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Upvotes
11.3k 25 8 13

Hi @michael.theimer

With JDACSLock, the perm data generated for ServiceID:333 and PE:2000 is 0x03014D2000C0. It is Base64 encoded to "AwFNIADA". I have tested the scenario using Web Socket posting to my OMM Interactive Provider via TREP 3.2. The RSSL tracing indicates that Provider can receive PermData correctly.

My WebSocket Post message: "PermData": "AwFNIADA"

{
  "Ack": true,
  "Domain": "MarketPrice",
  "ID": 1,
  "Key": {
    "Service": "DIRECT_FEED",
    "Name": "TRI.N"
  },
  "Message": {
    "Domain": "MarketPrice",
    "Fields": {
      "ASK": 45.57,
      "ASKSIZE": 19,
      "BID": 45.55,
      "BIDSIZE": 18
    },
    "ID": 0,
    "Type": "Update"
  },
  "PermData": "AwFNIADA"
  "PostID": 1,
  "PostUserInfo": {
    "Address": "127.0.0.1",
    "UserID": 55555
  },
  "Type": "Post"
}

RSSL tracing on Provider side: permData="0301 4D20 00C0"

<postMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="1" containerType="RSSL_DT_MSG" flags="0xE6 (RSSL_PSMF_HAS_POST_ID|RSSL_PSMF_HAS_MSG_KEY|RSSL_PSMF_POST_COMPLETE|RSSL_PSMF_ACK|RSSL_PSMF_HAS_PERM_DATA)" postId="3" permData="0301 4D20 00C0" postUserId="55555" postUserAddr="127.0.0.1" dataSize="36">
    <key  flags="0x7 (RSSL_MKF_HAS_SERVICE_ID|RSSL_MKF_HAS_NAME|RSSL_MKF_HAS_NAME_TYPE)"  serviceId="1" name="TRI.N" nameType="1"/>
    <dataBody>
<!-- rwfMajorVer="14" rwfMinorVer="1" -->
        <updateMsg domainType="RSSL_DMT_MARKET_PRICE" streamId="0" containerType="RSSL_DT_FIELD_LIST" flags="0x0" updateType="0 (RDM_UPD_EVENT_TYPE_UNSPECIFIED)" dataSize="25">
            <dataBody>
                <fieldList flags="0x8 (RSSL_FLF_HAS_STANDARD_DATA)">
                    <fieldEntry fieldId="25" data="0C11 CD"/>
                    <fieldEntry fieldId="31" data="0E13"/>
                    <fieldEntry fieldId="22" data="0C11 CB"/>
                    <fieldEntry fieldId="30" data="0E12"/>
                </fieldList>
            </dataBody>
        </updateMsg>
    </dataBody>
</postMsg>
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 5.0 MiB each and 10.0 MiB total.

Click below to post an Idea Post Idea