question

Upvotes
Accepted
1 1 1 3

Sending permData from Contex application to DACS

Hi,

We are sending the permData for Contex application to DACS in the following format by enabling the flag "RSSL_PSMF_HAS_PERM_DATA"

permData="0301 6620 00C0"

Based on the above values.

03 – The header

01 66 – Service ID in HEX

20 00 – PE Code in Decimal

C – Terminator

0 – is just padding

But the DACS is display wrong permData and getting NAK in Contex application.

RSSL_PSMF_HAS_PERM_DATA)" seqNum="6" postId="6" permData="CC" postUserId="0"

DACSopen-dacs
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.

@Basavaraj.Baluchigi

Please explain more about the problem and share the connection diagram.

In my understanding, the Contex application sent a post message to TREP with permData="0301 6620 00C0". However, the TREP has changed the permData to "CC" while forwarding the post message to the contribution server. Then, the Contex application got the NAK message for that post.

Is it correct?

Upvotes
Accepted
50k 125 44 62

It is the same question as in this thread.

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
1 1 1 3

Thanks for your reply.

You are right Contex application sending post message to TREP-->DACS.

The flow is as below:

CONTEX > ADS (ATS_CORE) > ATS > DACS

The requirement here is Contex application has to send DACS Enabled permissioning DATA to TREP(ATS) at each record set level.We have following function in Contex(UPAMessageCodec.h) which will set the permissioning data in Post Message and sends to TREP(ATS).

template<class T> RsslRet UPAMsgBuilder<T>::SetDacsPermissioning( int nEnableDacsPermissioning ) {

unsigned int final_Value = 3 | 358 | 8192 | 12;

const std::string& value = std::to_string( static_cast<long long>(final_Value));

m_message.permData.data = const_cast<char *>( value.c_str() ); m_message.permData.length = static_cast<RsslUInt32>( value.length() );

return RSSL_RET_SUCCESS;

}

In above function we have hard coded the header and Terminator values for Testing.

unsigned int final_Value = 3 | 358 | 8192 | 12;(In Decimal)

03 – The header

01 66 – Service ID in HEX

20 00 – PE Code

C – Terminator

0 – is just padding

My query is here whether the filling of permData in above function(SetDacsPermissioning) is proper?if it's wrong how we need to fill permData with headers,terminators,PE Code(PROD_PERM) so that permData should be displayed properly in DACS and get ACK message to Contex applicaton

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.