question

Upvotes
Accepted
1 2 5 5

how to submit a OmmConsumer object without PostMsg.postId( id )

elektronrefinitiv-realtimeelektron-sdkema-apirrtelektron-message-apic++
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.

Hello @kage.wu,

Thank you for your participation in the forum.

Is the reply below satisfactory in resolving your query?

If yes please click the 'Accept' text next to the reply. This will guide all community members who have a similar question. Otherwise please post again offering further insight into your 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

Upvotes
Accepted
22.1k 59 14 21

Setting acknowledgements to false will help, but your application will not have a means to know if your posting failed, and the failure reason.

PostID is controlled by your application. You can set it to 1, and increment every time post is submitted. Like:

long pID = 1; 

pOmmConsumer->submit( PostMsg().postId( pID++ )....
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
22.1k 59 14 21

Hello @kage.wu,

PostID is used to match up infrastructure ACK/NAK response to your post messages. The PostID is returned in the ```AckMsg``` as ```ackId```. Certain infrastructure components like Thomson Reuters Contribution Channel, will reject a post if a unique PostID is not provided.

What is your requirement to post without a PostID?

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 2 5 5

I need to publish the prices for the ISINs on a service. The problem is that I need to put a different id to on:

pOmmConsumer->submit( PostMsg().postId( id ).serviceName( "PUBNYC" ).name( isin.c_str() ).solicitAck( true ).complete().payload( fileldList ), handle );

If not, I may have an error or exception as:

OmmException: Exception Type='OmmInvalidUsageException', Text='Failed to submit PostMsg on login stream. Reason: RSSL_RET_INVALID_ARGUMENT. Error text: Post contains duplicate information (Post exists with ID 1).'

It seems only happening when I 'submit' very fast and many records or ISINs...

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 2 5 5

it seems if I change solicitAck( true) to false, it works fine now

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 2 5 5

I just need to and must submit to the service in real-time px, very fast... it should be fine. thanks

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
25.3k 87 12 25

Hi @kage.wu

As my colleague mentioned, it is generally recommended that you solicitAck - so you are made aware when a Post fails - otherwise your app will never know which of your posts were accepted and which failed - is this something you can accept from an application point of view?

Is there some reason why you cannot simply increment the PostID each time you post - as shown by my colleague?

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.

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.