users@grizzly.java.net

Re: Atmosphere + Grizzly: No AtmosphereHandler maps request for /chat Status 500 Message Server Error

From: Marc Arens <marc.arens_at_open-xchange.com>
Date: Mon, 5 May 2014 21:29:11 +0200 (CEST)

AFAIR that's a message delimiter + message length for chunked messages. It
should get automatically removed and messages should get concatenated again on
the client side when using the js or java client libs.

http://atmosphere.github.io/atmosphere/apidocs/org/atmosphere/cpr/ApplicationConfig.html#MESSAGE_DELIMITER

> On 05 May 2014 at 20:21 Oleksiy Stashok <oleksiy.stashok_at_oracle.com> wrote:
>
>
> Hi Miguel,
>
> looks like it's length prefix, not sure where it comes from.
> Jeanfrancois, do you have any idea?
>
> Thanks.
>
> WBR,
> Alexey.
>
> On 05.05.14 04:10, miguelnaterasolmedo_at_gmail.com wrote:
> > Hi Alexey.
> >
> > I've tested your changes and now ws services published using a complex
> > path (i.e. /chat/sports) are working fine, nice work!!
> >
> > Anyway, I've detected that json responses contain some strange
> > numbers, take a look at my tests...
> >
> > -.Test 1 (only service/chat/sports published):
> >
> > CONNECTED
> > RESPONSE: 17|Http Get Response
> > SENT: {"author":"Miguel","message":"hello"}
> > RESPONSE: *58|*{"author":"Miguel","message":"hello","time":1399037646311}
> >
> > -.Test 2 (services /chat/sports & /chat/news published):
> >
> > CONNECTED
> > RESPONSE: 20|17|Http Get Response
> > SENT: {"author":"Miguel","message":"hello"}
> > RESPONSE:
> > *61|58|*{"author":"Miguel","message":"hello","time":1399037700807}
> >
> > -.Test 3 (services /chat/sports & /chat/news & /chat/art published):
> >
> > CONNECTED
> > RESPONSE: 23|20|17|Http Get Response
> > SENT: {"author":"Miguel","message":"hello"}
> > RESPONSE:
> > *64|61|58|*{"author":"Miguel","message":"hello","time":1399037765028}
> >
> > On these samples I used the client http://www.websocket.org/echo.html
> > connected to ws:/localhost:8181/chat/sports and I sent the
> > message{"author":"author","message":"message"}
> >
> > Well, maybe this only means that I'm doing something wrong (probably).
> > Anyway I'm attaching my exported eclipse project, maybe you want to
> > take a look at it.
> >
> > Thanks for your time.
> >
> > Miguel.
> >
> >
> > El jueves, 1 de mayo de 2014 14:39:59 UTC+2, miguelnat..._at_gmail.com
> > escribió:
> >
> > Hi Alexey,
> >
> > I've tested your atmosphere patch + Grizzly2.3.12-SNAPSHOT and it
> > works great. Anyway tomorrow I want to perform a more complex
> > test, I'll pass you the results.
> >
> > Have a nice day.
> >
> > Miguel
> >
> > El jueves, 1 de mayo de 2014 01:40:36 UTC+2, Oleksiy Stashok
> > escribió:
> >
> > Hi Miguel,
> >
> > just for tracking purposes I filed the issue here
> > https://java.net/jira/browse/GRIZZLY-1680
> > <https://java.net/jira/browse/GRIZZLY-1680>
> >
> > WBR,
> > Alexey.
> >
> > On 29.04.14 14:08, miguelnat..._at_gmail.com wrote:
> >> Hi Alexey.
> >>
> >> Please, can you tell me where can I find the file
> >> Grizzly2.3.12-SNAPSHOT.jar?. I've checked grizzly.java.net
> >> <http://grizzly.java.net> & mvnrepository.com
> >> <http://mvnrepository.com> but I can't find it.
> >>
> >> Yep there's no reason to create 2 HttpServers, I did a lot of
> >> tests and I forgot to remove that code. Anyway thanks for the
> >> advice & support.
> >>
> >> Best regards.
> >>
> >> Miguel.
> >>
> >> El martes, 29 de abril de 2014 17:50:49 UTC+2, Oleksiy
> >> Stashok escribió:
> >>
> >> (2nd attempt, 1st one was rejected by a mail server)
> >>
> >> Hi Miguel,
> >>
> >> pls. apply the atmosphere patch (attached) and try
> >> Grizzly 2.3.12-SNAPSHOT.
> >> IMO there's no reason to create 2 HttpServers, one should
> >> be enough (pls. see attached), if you see any issues with
> >> that - pls. let me know.
> >>
> >> Thanks.
> >>
> >> WBR,
> >> Alexey.
> >>
> >> On 28.04.14 02:37, miguelnat..._at_gmail.com wrote:
> >>> Hi Alexey,
> >>>
> >>> Of course, it will be a pleasure to share my test
> >>> project with you. I'm attaching my exported eclipse
> >>> project, the chat service is published at
> >>> http://localhost:8181/chat
> >>>
> >>> <http://www.google.com/url?q=http%3A%2F%2Flocalhost%3A8181%2Fchat%2Fa%2Fb%2Fc&sa=D&sntz=1&usg=AFQjCNElYVMLNJmdi9DSQmVI2ia4pWsZdA>
> >>>
> >>> Regards from Spain.
> >>>
> >>> Miguel
> >>>
> >>> El sábado, 26 de abril de 2014 09:36:57 UTC+2, Oleksiy
> >>> Stashok escribió:
> >>>
> >>> Hi Miguel,
> >>>
> >>> I think I found the possible issue, can I ask you to
> >>> share the entire project, so I can reproduce the
> >>> problem and make sure it's fixed.
> >>>
> >>> Thank you.
> >>>
> >>> WBR,
> >>> Alexey.
> >>>
> >>> On 24.04.14 05:04, miguelnat..._at_gmail.com wrote:
> >>>> Hi Alexey,
> >>>>
> >>>> I'm debugging this issue, these are my tests & results:
> >>>>
> >>>> -. When I call 'http://localhost:8181/chat/a/b/c
> >>>>
> >>>> <http://www.google.com/url?q=http%3A%2F%2Flocalhost%3A8181%2Fchat%2Fa%2Fb%2Fc&sa=D&sntz=1&usg=AFQjCNElYVMLNJmdi9DSQmVI2ia4pWsZdA>'
> >>>> internally this request is built:
> >>>> 'AtmosphereRequest{ contextPath= servletPath=/chat
> >>>> pathInfo=/a/b/c requestURI=/chat/a/b/c
> >>>> destroyable=true}' Well, Http Get requests seem to
> >>>> work fine.
> >>>>
> >>>> -. When I call 'new
> >>>> WebSocket('ws://localhost:8181/chat/a/b/c')'
> >>>> internally this request is built
> >>>> 'AtmosphereRequest{ contextPath= servletPath=null
> >>>> pathInfo=null requestURI=/chat/a/b/c
> >>>> destroyable=true}' I think the problem
> >>>> (servletPath & pathInfo are null) only happens when
> >>>> I use websockets
> >>>>
> >>>> I'm debbuging the method
> >>>>
> >>>> org.glassfish.grizzly.websockets.WebSocketEngine.upgrade(FilterChainContext
> >>>> ctx, HttpContent requestContent, Mapper mapper) and
> >>>> the param requestContent receives this value:
> >>>>
> >>>> HttpRequestPacket (
> >>>> method=GET
> >>>> url=/chat/a/b/c
> >>>> query=null
> >>>> protocol=HTTP/1.1
> >>>> content-length=-1
> >>>> headers=[
> >>>> upgrade=websocket
> >>>> connection=Upgrade
> >>>> host=localhost:8181
> >>>> origin=http://localhost:8080
> >>>> pragma=no-cache
> >>>> cache-control=no-cache
> >>>> sec-websocket-key=3pRm4vKnwqvRO8G0/WUNBw==
> >>>> sec-websocket-version=13
> >>>> sec-websocket-extensions=permessage-deflate;
> >>>> client_max_window_bits, x-webkit-deflate-frame
> >>>> user-agent=Mozilla/5.0 (X11; Linux x86_64)
> >>>> AppleWebKit/537.36 (KHTML, like Gecko)
> >>>> Chrome/34.0.1847.116 Safari/537.36]
> >>>> )
> >>>>
> >>>> but at the end of my debugging session the method
> >>>>
> >>>> org.atmosphere.util.DefaultEndpointMapper.computePath(AtmosphereRequest
> >>>> req) receives the param req with this value:
> >>>> AtmosphereRequest{ contextPath= servletPath=null
> >>>> pathInfo=null requestURI=/chat/a/b/c destroyable=true}
> >>>>
> >>>>
> >>>> Well I hope these tests have some value for you,
> >>>> anyway if you need more tests feel free to ask.
> >>>>
> >>>> Have a nice day.
> >>>>
> >>>> Miguel
> >>>
> >>
> >
>

Best regards,
Marc