WebException 'Bad Request' randomly, always after data stops streaming

I'm using the WebSocket API's to connect to EDP data for Futures FX and Equities. Over the last 3 days at random intervals I stop receiving data over the WebSocket and on the next re-auth attempt I get an exception back from the WebSocket client with the "returned an error (400) bad request" message.
The request I'm making is no different than the hundreds before it that succeeded.
There are 2 major problems - 1) we stop getting data and 2) there is no good way to know in the code until the next returh attempt where I receive the bad request message. Please note that I am still pinging back and forth on the open connection.
I don't know what other information I can provide - this is not the first time we've seen thsi but it is now happening every day. We are still having entitlments added/changed so I also want to make sure it's not just a function of that causing this problem.
I believe if I completely shutdown everything internally, reconnect with a clean connection and resub I will continue to get data, but there will be a gap in the data at this point.
Best Answer
-
Hello @jeff.zimniewicz
Based on the question hashtag, I assume you are using C# language. Could you please confirm if the issue happens with the C# MarketPriceEdpGwAuthenticationExample example? You can download the C# example from Elektron WebSocket API download page and GitHub.
Additionally, can give me the .Net and related libraries versions?
0
Answers
-
You are correct this is C#. I'm using .NET 4.6.1 and this is running on Windows 2012 Server R2.
This problem is not happening with our FX data feed which is subscribing to around 75 symbols. Our Futures piece is subbing to ~600 symbols and this is happening several times a day.
The feed handler was based around the Example you mention above. I can have that app make the same number of symbol subscriptions as our Futures handler but again the base code is the same as that application.
I'm able to reconnect just fine when running locally (Windows 10) but on the server the reconnect is able to re-sub to symbols, receives the errors (still some permission errors on our symbols as well as a few contracts out of date) but immediately after those messages are processed this line in the ReceiveMessage() function continuously throws an exception:
if( !result.Result.EndOfMessage )
2019-11-08 00:19:55.6035: Message: One or more errors occurred.
2019-11-08 00:19:55.6035:
2019-11-08 00:19:55.6035: Stack:
at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
at Reuters.Base.ReutersWebSocket.ReceiveMessage()
at Reuters.Base.ReutersWebSocket.ProcessingLoop()
0 -
On a related note - I was able to see this happen in a scenario where very little data (1 equity) was being processed. This appears to be completely random but I wanted to correct the comment from above thinking this was related to high volume.
0 -
Hello @jeff.zimniewicz
Does the problem still persist in your environment? Could you please give me the json request message that encounters the "returned an error (400) bad request" error? Is it from the HTTP REST call (for authentication, service discovery) or WebSocket call?
0
Categories
- All Categories
- 6 AHS
- 36 Alpha
- 166 App Studio
- 6 Block Chain
- 4 Bot Platform
- 18 Connected Risk APIs
- 47 Data Fusion
- 34 Data Model Discovery
- 683 Datastream
- 1.4K DSS
- 613 Eikon COM
- 5.2K Eikon Data APIs
- 10 Electronic Trading
- Generic FIX
- 7 Local Bank Node API
- 3 Trading API
- 2.9K Elektron
- 1.4K EMA
- 248 ETA
- 552 WebSocket API
- 37 FX Venues
- 14 FX Market Data
- 1 FX Post Trade
- 1 FX Trading - Matching
- 12 FX Trading – RFQ Maker
- 5 Intelligent Tagging
- 2 Legal One
- 23 Messenger Bot
- 3 Messenger Side by Side
- 9 ONESOURCE
- 7 Indirect Tax
- 60 Open Calais
- 275 Open PermID
- 44 Entity Search
- 2 Org ID
- 1 PAM
- PAM - Logging
- 6 Product Insight
- Project Tracking
- ProView
- ProView Internal
- 22 RDMS
- 1.9K Refinitiv Data Platform
- 626 Refinitiv Data Platform Libraries
- 5 LSEG Due Diligence
- 1 LSEG Due Diligence Portal API
- 4 Refinitiv Due Dilligence Centre
- Rose's Space
- 1.2K Screening
- 18 Qual-ID API
- 13 Screening Deployed
- 23 Screening Online
- 12 World-Check Customer Risk Screener
- 1K World-Check One
- 46 World-Check One Zero Footprint
- 45 Side by Side Integration API
- 2 Test Space
- 3 Thomson One Smart
- 10 TR Knowledge Graph
- 151 Transactions
- 143 REDI API
- 1.8K TREP APIs
- 4 CAT
- 26 DACS Station
- 121 Open DACS
- 1.1K RFA
- 104 UPA
- 191 TREP Infrastructure
- 228 TRKD
- 915 TRTH
- 5 Velocity Analytics
- 9 Wealth Management Web Services
- 84 Workspace SDK
- 11 Element Framework
- 5 Grid
- 18 World-Check Data File
- 1 Yield Book Analytics
- 46 中文论坛