TomCools / dropwizard-websocket-jsr356-bundle

A Dropwizard bundle that enables the usage of the Java API for WebSocket Protocol (JSR 356).
Apache License 2.0
22 stars 14 forks source link

Websocket URL gives 404 #17

Open ravi-prajapati-1995 opened 7 months ago

ravi-prajapati-1995 commented 7 months ago

Hi All, I am using this bundle in my application, while starting of application I am getting message of registration of websocket as you have mentioned in docs. But when application try to hit URL it return 404, My frontend is not able to make connection with websocket, Same I have checked with Postman too. Please help me to find where I am doing wrong. I am using dropwizard latest version (4.0.6) and bundle version (4.0.0)

TomCools commented 7 months ago

Could you please share some more information such as:

I'll gladly have a look 😊

ravi-prajapati-1995 commented 7 months ago

Hi @TomCools we were using @PathParams in web socket URL and that gave problem, If we gave foo/{name}/bar/{id}/websocket URL to websocket endpoint that cause problem and we got 404 in that case but if we did /foo/bar/websocket/{name}/{id} this runs fine. Issue was with using @PathParms in URL of endpoint.

hesamgha commented 4 months ago

Similar issue and the above suggestion fixed it.

tresni commented 1 month ago

https://github.com/jetty/jetty.project/pull/11753 appears to be the root cause, upgrading jetty to 12.0.10 should fix the issue

TomCools commented 1 month ago

Thanks @tresni, I had a look and there seems to be an issue in Dropwizard itself, not this plugin.

This issue exists in Jetty 11, which is the baseline for Dropwizard 4. They do not seem to be backporting the solution for this... meaning the only way this can be solved is by upgrading to Dropwizard 5 (unless you manually upgrade to Jetty 12... but changing such a baseline might break something else in Dropwizard 4).

Since there is a workaround mentioned above, i'll not be chasing this. If they decide to backport the solution to Jetty 11, i'll happily upgrade this plugin.