Failed to perform attach connection with Strophe.js - xmpp

I'm using the attach feature from Strophe.js, so when I lose my internet connection I can keep the same session alive.
Sometimes it works properly and I can do the attach, while I don't have any problem making different requests.
The problem apparently occurs when a request is pending, in queue, and is sent after the attach reconnection.
For example, I perform the attach with rid = 100 and when I perform a request (example: retrieve the roster) , the rid request is now 101, but when I check the console, I can see an stanza with rid = 98 has been sent, so I got an item-not-found error and the session closes. I know this error is because the rid is not correct.
Any idea where I can modify the code to avoid sending malformed rid stanzas? or any possible solution?
Thanks

Related

DHTML URL portion automatically dissects when running onto server

When I run URL requests from this onto my browser then it works finely.
And, gives me the desired response.
{{ocx_feed_dynamic_html{url=http://demo.projects.stepinsolutions.in/og_tests_assets/dynamic_feed_creator/get-dynamic-feed-clone.php?key={{city}}&feed_type=html}}}
But, when I send a test mail and it has to get a response from the server it will automatically remove some portion of the URL. And, it will parse as mentioned below.
{{ocx_feed_dynamic_html{url=http://demo.projects.stepinsolutions.in/og_tests_assets/dynamic_feed_creator/get-dynamic-feed-clone.php}}}
As a result Query string=" " remains empty while running this URL onto the server.
And at the end, I receive an email that says "Invalid feed_type or feed_type not provided!!" as an output.
Could anyone help me why it's happening? And how could I resolve this issue?

Quickfix (C++) Incorrect data format for value:40

I'm currently using one Quickfix application to talk to another Quickfix application using FIX 4.2. Both applications are written by me in C++. I'm currently having an issue when I send an Order Cancel Request (FIX message type F). The receiving Quickfix application keeps rejecting my FIX message with "Incorrect data format for value:40".
The problem is, I'm not even sending Tag 40 in my Order Cancel Request message! I also checked my Data Dictionary and Tag 40 is not defined form Order Cancel Request messages.
Here is the Order Cancel Request message that I'm sending:
11032020-16:50:43.837819:(INFO) (outgoing): (FIX.4.2:TT->OMS) [8=FIX.4.2|9=118|35=F|34=68|49=TT|52=20201103-21:50:43.837|56=OMS|11=453000000025|41=453000000024|54=1|55=IBM|60=20201103-21:50:43.836|10=244|]
Here is what is being received by the server side and it's error message.
20201103-21:50:43.839340000 : Message 68 Rejected: Incorrect data format for value:40
Here is the FIX Reject message automatically generated by Quickfix:
11032020-16:50:43.839388:(INFO) (outgoing): (FIX.4.2:OMS->TT) [8=FIX.4.2|9=109|35=3|34=63|49=OMS|52=20201103-21:50:43.839|56=TT|45=68|58=Incorrect data format for value|371=40|372=F|373=6|10=176|]
As you can see, what I'm sending is exactly what's being received and there is no tag 40. Does anybody have any idea's what might be happening here??

How to mock HTTP Error response with Charles?

Is it possible to intercept the request going through Charles and immediately return 500 error code without sending this request to the server?
Can't find any information on this. All resources suggest to wait for the response and then change HTTP response code to 500.
I assume you have already tried adding a rewrite rule to make the request to be returned with the 500 status. Have you tried combining this with a map local, to an empty file on your disk, for instance? It may work.
If this doesn't work too, I think I would do a Map Remote to another path on my localhost (for instance: http://localhost:8081/exected-response-500) and make that URL to return the 500 status error (in my case I would use a basic Spring Boot app to achieve this).

PayPal Rest API Get Capture by Id internal server error 500

I have been having this issue lately when trying to get a completed capture by the capture ID and received internal server error 500.
It's been a hit or miss, some captures returns back fine and a lot of time it would throw exception when I call Capture.Get(ApiContext, captureId);
Here are a couple debug id:
82e5f57da64a0
3a8dcfc41f6b9
Please help thanks!

QuickFix how to not send resend request?

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
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?
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