0

I need to know how we can restrict sending a "Resend Request". I'm copying the logs below. It appears that the "Resend Request" is being send from QuickFixEngine dll since we have not written any code for initiating a resend request. Please help me to solve how restrict a resend request. Also it appears that the MsgSeqNum is in correct order. Your help will be appreciated greatly.

8=FIX.4.29=5735=034=9949=UATENV52=20120717-16:31:28.29656=TRDUAT10=243

8=FIX.4.29=5835=049=TRDUAT56=UATENV52=20120717-16:28:34.24834=11910=029

8=FIX.4.29=37635=849=TRDUAT56=UATENV52=20120717-16:28:41.00434=12050=CBOEO57=Test_Trader37=1120716000006003150=139=120=060=20120717-16:28:40.00040=254=138=10442=2654=1167=OPT55=IBM44=-0.5077=O202=180.00201=1200=201207205=2121=359=01=TestAcct10115=USD14=56=0.50198=12280400019882=N17=071710150000128151=576=INCA30=CBOE75=2012071732=531=0.5011=82184825010=144 8=FIX.4.29=37935=849=TRDUAT56=UATENV52=20120717-16:28:41.00534=12150=CBOEO57=Test_Trader37=1120716000006004150=139=120=060=20120717-16:28:40.00040=254=238=20442=2654=2167=OPT55=IBM44=-0.5077=O202=185.00201=1200=201207205=2121=359=01=TestAcct10115=USD14=106=0.50198=12280400019882=N17=071720150000129151=1076=INCA30=CBOE75=2012071732=1031=0.5011=82184825010=036

8=FIX.4.29=6935=234=10049=UATENV52=20120717-16:31:35.50056=TRDUAT 7=120 *16=0* 10=230

8=FIX.4.29=37635=849=TRDUAT56=UATENV52=20120717-16:28:41.00534=12250=CBOEO57=Test_Trader37=1120716000006005150=139=120=060=20120717-16:28:40.00040=254=138=10442=2654=3167=OPT55=IBM44=-0.5077=O202=190.00201=1200=201207205=2121=359=01=TestAcct10115=USD14=56=0.50198=12280400019882=N17=071710150000130151=576=INCA30=CBOE75=2012071732=531=0.5011=82184825010=145

8=FIX.4.29=37935=834=12149=TRDUAT50=CBOEO52=20120717-16:28:41.00556=UATENV57=Test_Trader1=TestAcct1016=0.5011=82184825014=1015=USD17=07172015000012920=021=330=CBOE31=0.5032=1037=112071600000600438=2039=140=244=-0.5054=255=IBM59=060=20120717-16:28:40.00075=2012071776=INCA77=O150=1151=10167=OPT198=1228040001200=201207201=1202=185.00205=21442=2654=29882=N10=036

8=FIX.4.29=37635=834=12249=TRDUAT50=CBOEO52=20120717-16:28:41.00556=UATENV57=Test_Trader1=TestAcct1016=0.5011=82184825014=515=USD17=07171015000013020=021=330=CBOE31=0.5032=537=112071600000600538=1039=140=244=-0.5054=155=IBM59=060=20120717-16:28:40.00075=2012071776=INCA77=O150=1151=5167=OPT198=1228040001200=201207201=1202=190.00205=21442=2654=39882=N10=145

8=FIX.4.29=40735=849=TRDUAT56=UATENV52=20120717-16:28:41.444122=20120717-16:28:41.00443=Y34=12050=CBOEO57=Test_Trader37=1120716000006003150=139=120=060=20120717-16:28:40.00040=254=138=10442=2654=1167=OPT55=IBM44=-0.5077=O202=180.00201=1200=201207205=2121=359=01=TestAcct10115=USD14=56=0.50198=12280400019882=N17=071710150000128151=576=INCA30=CBOE75=2012071732=531=0.5011=82184825010=145

8=FIX.4.29=41035=849=TRDUAT56=UATENV52=20120717-16:28:41.444122=20120717-16:28:41.00543=Y34=12150=CBOEO57=Test_Trader37=1120716000006004150=139=120=060=20120717-16:28:40.00040=254=238=20442=2654=2167=OPT55=IBM44=-0.5077=O202=185.00201=1200=201207205=2121=359=01=TestAcct10115=USD14=106=0.50198=12280400019882=N17=071720150000129151=1076=INCA30=CBOE75=2012071732=1031=0.5011=82184825010=028

8=FIX.4.29=40735=849=TRDUAT56=UATENV52=20120717-16:28:41.444122=20120717-16:28:41.005

Thanks

Anish
  • 872
  • 5
  • 21
  • 42

2 Answers2

4

Usually, you will get a resend request when reconnecting after a disconnect. It is important to make sure that you haven't missed any messages.

If you want to avoid it, you need to edit the quickfix config and set ResetOnLogon Logoff and disconnect to Y. That way it will not try to resend messages each time it disconnects.

I don't think this is a particularly good idea. You could miss messages. Why is the resend request a problem for you?

TT.
  • 15,774
  • 6
  • 47
  • 88
robthewolf
  • 7,343
  • 3
  • 29
  • 29
  • Actually the firm we are going to send orders asked us not to send any "ResendRequest". I do think this is not a good idea.. Anyways we have to listen what the firm is asking.. – Anish Jul 24 '12 at 17:26
  • you might want to not resend any orders that are old and you don't want to be executed - how would you achieve that? – mcmillab Aug 22 '16 at 09:02
3

If you want to ignore ResendRequests (i.e you don't want to resend any messages) the correct way in FIX to do this is by responding with a SequenceReset.

You can achieve this in QuickFix be overriding the toApp() method and throwing a DoNotSend exception.

QuickFix will generate the correct SequenceReset response based on the ResendRequest that was issued.

Here's an example:

8=FIX.4.29=9135=234=349=MY-INITIATOR-SERVICE52=20160418-09:11:20.69456=MY-ACCEPTOR-SERVICE7=216=510=133
8=FIX.4.29=12435=434=243=Y49=MY-ACCEPTOR-SERVICE52=20160418-09:11:20.69756=MY-INITIATOR-SERVICE122=20160418-09:11:20.69736=2123=Y10=068
Dan
  • 9,681
  • 14
  • 55
  • 70
  • how to find out if it's a resend flow from the toApp method. The SessionId and Message objects don't seem to have any info/current-seq-number for that? – Abidi Jan 25 '19 at 21:18