websocket_channel request got captured along with the https requests when I recorded the application. On replay, the below error message found:
Error Code: NL-WEBSOCKET-CHANNEL-ENGINE Message: Error occurred while executing WebSocket channel. Details: java.util.concurrent.ExecutionException: org.eclipse.jetty.websocket.api.UpgradeException: Didn't switch protocols, expected status <101>, but got <404> at org.eclipse.jetty.util.FuturePromise.get(FuturePromise.java:138) at com.neotys.nl.b.b.JettyHttpClient.executeWebSocket(JettyHttpClient.java:777) at com.neotys.nl.controller.u.d.a.d.a(d.java:82) at com.neotys.nl.lg.engine.n.b(n.java:409) at com.neotys.nl.lg.engine.n.internalExecute(n.java:338) at com.neotys.nl.lg.engine.l.a(l.java:146) at com.neotys.nl.lg.engine.v.c(v.java:125) at com.neotys.nl.lg.engine.w.internalExecute(w.java:83) at com.neotys.nl.lg.engine.l.a(l.java:146) at com.neotys.nl.lg.engine.v.c(v.java:125) at com.neotys.nl.lg.engine.w.internalExecute(w.java:83) at com.neotys.nl.lg.engine.l.a(l.java:146) at com.neotys.nl.lg.engine.H.i(H.java:251) at com.neotys.nl.lg.engine.H.internalExecute(H.java:98) at com.neotys.nl.lg.engine.l.a(l.java:146) at com.neotys.nl.lg.engine.c.a(c.java:177) at com.neotys.nl.lg.engine.c.run(c.java:108) Caused by: org.eclipse.jetty.websocket.api.UpgradeException: Didn't switch protocols, expected status <101>, but got <404> at org.eclipse.jetty.websocket.client.io.UpgradeConnection.validateResponse(UpgradeConnection.java:352) at org.eclipse.jetty.websocket.client.io.UpgradeConnection.read(UpgradeConnection.java:280) at org.eclipse.jetty.websocket.client.io.UpgradeConnection.onFillable(UpgradeConnection.java:196) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:265) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) at org.eclipse.jetty.io.ssl.SslConnection.onFillable(SslConnection.java:197) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:265) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:95) at org.eclipse.jetty.io.SelectChannelEndPoint$2.run(SelectChannelEndPoint.java:75) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.produceAndRun(ExecuteProduceConsume.java:213) at org.eclipse.jetty.util.thread.strategy.ExecuteProduceConsume.run(ExecuteProduceConsume.java:147) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:654) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:572) at java.lang.Thread.run(Thread.java:745)
The request parameters are below:
transport webSockets
clientProtocol 1.4
connectionToken ZpiIUWwQ5uoAbBU05s/xxuo5YXjKIcNHTVrfCNVeAQNJfteeXpOJPX8DvEu33JCGdG55X8ACHdamV2agzgegpfaWFTGHnykFwLM/qL+7xiqY5rcuvsOZOGWnyeggLWcvjCczVQ==
connectionData [{"name":"datacomponentnotificationhub"},{"name":"widgetnotificationhub"}]
tid 8
I correlated the connectionToken, but still the same error occurs during replay.
Also, there seem to be a request header missing during replay.
Sec-WebSocket-Extensions: permessage-deflate; client_max_window_bits
The above header was found during recording but missing during replay.
Could you please provide the steps on how to handle websocket_channel requests in my script?