[ 
https://issues.apache.org/jira/browse/AMQ-6491?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15664105#comment-15664105
 ] 

Christopher L. Shannon edited comment on AMQ-6491 at 11/14/16 2:52 PM:
-----------------------------------------------------------------------

Why are you trying to make a GET request to the WebSocket servlet?

I'm not really sure what the best behavior is here. On one hand we could either 
return nothing for a response to a GET request (or register the default servlet 
and forward to it).  Or we could just have the WebSocket servlet not implement 
GET at all and throw an error because there's not really a good reason to make 
a GET request to the WebSocket servlet that I can think of.

My preference would probably be to just return an empty response if a GET 
request was made and no error.


was (Author: christopher.l.shannon):
Why are you trying to make a GET request to the WebSocket servlet?

I'm not really sure what the best behavior is here. On one hand we could either 
return nothing for a response to a GET request (or register the default servlet 
and forward to it).  Or we could just have the WebSocket servlet not implement 
GET at all and throw an error because there's not really a good reason to make 
a GET request to the WebSocket servlet that I can think of.

> WebSocket tries to call default servlet, when default servlet not configured
> ----------------------------------------------------------------------------
>
>                 Key: AMQ-6491
>                 URL: https://issues.apache.org/jira/browse/AMQ-6491
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: Transport
>    Affects Versions: 5.14.1
>            Reporter: Neil Greatorex
>            Priority: Minor
>              Labels: websocket
>
> With WebSocket connectors defined e.g.
> {noformat}
> <transportConnectors>
>     <transportConnector name="ws"
>                         
> uri="ws://0.0.0.0:61614?maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
>     <transportConnector name="wss"
>                         
> uri="wss://0.0.0.0:61615?transport.wantClientAuth=true&amp;maximumConnections=1000&amp;wireFormat.maxFrameSize=104857600"/>
> </transportConnectors>
> {noformat}
> A request to https://127.0.0.1:61615/ gives HTTP 500 Internal Server Error 
> with the following in the log:
> {noformat}
>  WARN | org.eclipse.jetty.servlet.ServletHandler | /
> java.lang.NullPointerException
>         at 
> org.apache.activemq.transport.ws.jetty9.WSServlet.doGet(WSServlet.java:88)[activemq-http-5.14.1.jar:5.14.1]
>         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:622)[tomcat-servlet-api-8.0.24.jar:]
>         at 
> org.eclipse.jetty.websocket.servlet.WebSocketServlet.service(WebSocketServlet.java:167)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> javax.servlet.http.HttpServlet.service(HttpServlet.java:729)[tomcat-servlet-api-8.0.24.jar:]
>         at 
> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:808)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:587)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1129)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.server.Server.handle(Server.java:499)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:257)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at 
> org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555)[jetty-all-9.2.13.v20150730.jar:9.2.13.v20150730]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_66-internal]
> {noformat}
> This occurs because no default servlet is defined. Either ActiveMQ should not 
> attempt to forward GET requests to the default servlet, or the embedded Jetty 
> instances should be configured with a proper default servlet.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to