-
Notifications
You must be signed in to change notification settings - Fork 404
There were no compatible transports on the server. #61
Comments
Hi @Ktirumalsetty. The error message |
I'm having the same issue but my in my case its a windows advanced server 2016 behind a load balancer. I've installed WebSockets on the server; could it be the load balancer, do I need to open any port number? |
Hi @mikaelm12 , we're using com.microsoft.signalr:signalr:1.0.0 and getting same error
when attempting to connect to SignalR app on azure app service. WebSockets is enabled on app service configuration but still getting same error. When digging deeper we realized that there was nothing returned in the availableTransports in response on HubConnection startNegotiate. |
I'd first recommend using a newer version of the package. There have been several updates with various fixes released since 1.0.0 |
Thank you @mikaelm12 but the version we're using seems to be the latest per Microsoft documentation: https://docs.microsoft.com/en-us/aspnet/core/signalr/java-client?view=aspnetcore-3.1 Can you please point me to where to get newest release? I want to also note that when we hosted the signalr app on a VM server on Azure, android client 1.0.0 connected fine and received list of available transports, and send/receive of messages was smooth. The current problem we're facing is when the signalr app is hosted on Azure App Service with WebSockets enabled and android client is trying to connect to it. We also use a javascript signalr web client that connects fine to the Azure App Service signalr web app where connect/start uses transport=webSockets correctly... |
https://search.maven.org/artifact/com.microsoft.signalr/signalr |
Thanks @mikaelm12 , I should have mentioned this earlier, my apologies! but we've inherited a legacy VB.net application targeting .NET 4.5 framework and using Microsoft.AspNet.SignalR.Core v2.2.2 which is hosted on Azure App Services. When I tried 3.X package on Android it complained about server not being Signalr Core. And so we still can't get Android to connect to the .../signalr endpoint as it throws "There were no compatible transports on the server." using 1.X package, since nothing is returned in availableTransports, and check fails to find "WebSockets" When I hit .../signalr/negotiate endpoint over a browser, i get the following:
This is the Startup configuration in application Startup.vb
Are we using the wrong Android signalr client altogether!? Is there an Android client that we can use to connect successfully? |
Okay yes, there is your problem. Core and Classic client and servers are not compatible. There is an older SignalR Java client but it's not supported and hasn't been updated in a few years. I'm not endorsing that you use it, but here it is if you're interested in checking it out https://github.com/SignalR/java-client It's marked as obsolete |
Hi @Ktirumalsetty - This has resolved my issue by Enabling the Websocket option in Azure. Thanks a ton! |
How to fix the below error from hubConnection.start().blockingAwait();
Caused by: java.lang.RuntimeException: There were no compatible transports on the server.
at com.microsoft.signalr.HubConnection.lambda$startNegotiate$11(HubConnection.java:364)
at com.microsoft.signalr.-$$Lambda$HubConnection$GiLlPVdlbvryuPaYB9UmGffcsYc.apply(Unknown Source:8)
at io.reactivex.internal.operators.single.SingleFlatMap$SingleFlatMapCallback.onSuccess(SingleFlatMap.java:76)
at io.reactivex.internal.operators.single.SingleMap$MapSingleObserver.onSuccess(SingleMap.java:64)
at io.reactivex.subjects.SingleSubject.onSuccess(SingleSubject.java:141)
at com.microsoft.signalr.DefaultHttpClient$2.onResponse(DefaultHttpClient.java:124)
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:153)
The text was updated successfully, but these errors were encountered: