Thank you Aki for your support. I strictly followed the instructions contained in the demo readme, i.e.: feature:repo-add cxf 3.1.6 feature:install cxf-jaxrs cxf-transports-websocket-server install -s mvn:org.apache.cxf.samples/jax_rs_websocket_osgi/3.1.6
It's when installing the "cxf-transports-websocket-server" feature that the org.atmosphere.runtime 2.3.5 is added. So, it would mean that the feature has a problem, right? On the other hand we do have a problem with our Maven proxy here, and I can't get CXF 3.2.0-SNAPSHOT yet. Will try asap. Regards, JP -----Message d'origine----- De : Aki Yoshida [mailto:elak...@gmail.com] Envoyé : vendredi 29 juillet 2016 00:32 À : CLEMENT Jean-Philippe Cc : users@cxf.apache.org Objet : Re: Error during WebSocket handshake: Unexpected response code I don't know how you got atmosphere 2.3.5 deployed. both cxf 3.2.x and 3.1.x are compatible with atmosphere 2.4.x but not with 2.3.x. I just verified both cxf master (3.2.0-SNAPSHOT) and 3.1.x (3.1.8-SNAPSHOT) on both karaf 3.0.6 and 4.0.5. regards, aki 2016-07-28 11:23 GMT+02:00 CLEMENT Jean-Philippe <jean-philippe.clem...@fr.thalesgroup.com>: > Also in Karaf logs I found a warn trace which corresponds to the 501 code: > AsynchronousProcessor | 106 - org.atmosphere.runtime - 2.3.5 | > Websocket protocol not supported > > Does CXF 3.1.6 support Websocket? Is there anything extra to configure or add? > > Thanks! > > Regards, > JP > > -----Message d'origine----- > De : CLEMENT Jean-Philippe > [mailto:jean-philippe.clem...@fr.thalesgroup.com] > Envoyé : jeudi 28 juillet 2016 10:53 > À : users@cxf.apache.org > Objet : RE: Error during WebSocket handshake: Unexpected response code > > Hello Aki, > > As I don't have access to GIT (company internet access restriction), I > downloaded CXF as long with your demo. > > My first trial using the tag 3.1.6 leaded to an archive which does not > contain the demo for OSGi. > My second trial was using the branch 3.1.x which contains the demo in > version 3.1.7-SNAPSHOT but fails to compile > > My last attempt was using the trunk which contains the demo in version > 3.2.0-SNAPSHOT and compiles :) ...but fails to start with CXF 3.1.6 (for some > reason the feature:repo-add cxf 3.2.0-SNAPSHOT fails). > > Still, I'm close to have my test working. Just blocked on the acknowledgement > 501 issue (still with CXF 3.1.6). > > JP > > -----Message d'origine----- > De : Aki Yoshida [mailto:elak...@gmail.com] Envoyé : mercredi 27 > juillet 2016 17:58 À : users@cxf.apache.org Objet : Re: Error during > WebSocket handshake: Unexpected response code > > As Sergey mentioned already, you will need to build the websocket sample on > your own. > And this is all described in README.txt of the websocket sample code folder. > You must have read it partially as you knew the sample artifact name. > But you will have to go through the build part described in that document and > shouldn't just jump into the middle of the document. > > 2016-07-27 16:56 GMT+02:00 CLEMENT Jean-Philippe > <jean-philippe.clem...@fr.thalesgroup.com>: >> Sure, could you please provide the URL where I may find your WebSocket demo? >> >> Regards, >> JP >> >> -----Message d'origine----- >> De : Sergey Beryozkin [mailto:sberyoz...@gmail.com] Envoyé : mercredi >> 27 juillet 2016 16:39 À : users@cxf.apache.org Objet : Re: Error >> during WebSocket handshake: Unexpected response code >> >> jax_rs_websocket_osgi is the demo itself, you need to build it. >> >> If you feel the whole CXF and Websockets/etc is new then perhaps you can >> start with a websocket demo which I have built and confirmed is working, >> test the actual WebSocket support, see if it works the way you expect it and >> then finish off with making a websocket_osgi demo work. >> >> websocket_osgi demo needs to be built manually - it won;t be in Central. >> Download the appropriate CXF distribution - and build this demo inside that >> distribution. Or checkout CXF master or 3.1.6 from GIT. >> I've just built this demo in my 3.2.0-SNAPSHOT and it is avail in the local >> Maven repo. >> >> But may be it will be simpler to start from a 'plain' websockets demo. >> >> Sergey >> >> On 27/07/16 17:12, CLEMENT Jean-Philippe wrote: >>> Yes you are right. Also I'm a CXF and webstuff newbie which does not >>> help :P >>> >>> I made a clean installation of our Karaf assembly, then followed the >>> readme. The CXF 3.2.0-SNAPSHOT was not found, but the installation >>> succeeded with the 3.1.6. Then the demo was not found (neither 3.1.6 nor >>> 3.2.0): >>> install -s mvn:org.apache.cxf.samples/jax_rs_websocket_osgi/3.1.6 >>> >>> I was not able to find the jax_rs_websocket_osgi in maven central either. >>> As a fallback, I installed my test and went back to the client trace >>> stating that the WebSocket connection failed due to the unexpected response >>> 501. >>> >>> Maybe it is due to the CXF version 3.1.6 instead of 3.2.0-SNAPSHOT? >>> >>> Regards, >>> JP >>> >>> -----Message d'origine----- >>> De : Sergey Beryozkin [mailto:sberyoz...@gmail.com] Envoyé : >>> mercredi >>> 27 juillet 2016 15:46 À : users@cxf.apache.org Objet : Re: Error >>> during WebSocket handshake: Unexpected response code >>> >>> See may last email on the rel address and please do work with the >>> demo first. Sometimes users need to dive a bit into the details of a >>> given demo :-) >>> >>> Sergey >>> >>> >>> On 27/07/16 16:42, CLEMENT Jean-Philippe wrote: >>>> I had to add cxf-http-jetty which is not described in the readme - >>>> I'm not too sure this sample was tested on Karaf 4 (4.0.4)... now >>>> I'm getting error 501 ... :D >>>> >>>> JP >>>> >>>> -----Message d'origine----- >>>> De : Sergey Beryozkin [mailto:sberyoz...@gmail.com] Envoyé : >>>> mercredi >>>> 27 juillet 2016 15:34 À : users@cxf.apache.org Objet : Re: Error >>>> during WebSocket handshake: Unexpected response code >>>> >>>> Look at that demo and check README/etc, and make it work in Karaf. >>>> I haven't written it but looks like it has all the info needed >>>> >>>> Sergey >>>> On 27/07/16 16:25, CLEMENT Jean-Philippe wrote: >>>>> Good, I went to >>>>> https://github.com/apache/cxf/tree/master/distribution/src/main/release/samples/jax_rs/websocket_osgi >>>>> and added the missing cxf-transports-websocket-server feature. >>>>> >>>>> Things get better :) ... now I get NoClassDefFoundError: >>>>> org/apache/cxf/transport/http_jetty/JettyHTTPServerEngineFactory. >>>>> >>>>> Well, starting from a Karaf basic custom assembly, what features am I >>>>> expected to add as bootFeatures in order to get CXF+WebSockets running? >>>>> >>>>> Regards, >>>>> JP >>>>> >>>>> -----Message d'origine----- >>>>> De : Sergey Beryozkin [mailto:sberyoz...@gmail.com] Envoyé : >>>>> mercredi >>>>> 27 juillet 2016 15:07 À : users@cxf.apache.org Objet : Re: Error >>>>> during WebSocket handshake: Unexpected response code >>>>> >>>>> Look at the websocket_osgi demo done by Aki >>>>> >>>>> Sergey >>>>> >>>>> On 27/07/16 15:55, CLEMENT Jean-Philippe wrote: >>>>>> Haha, it seems I'm in the "servlet container mode" and not the "Jetty >>>>>> embedded mode"... so I would have, as far as I understood, set both the >>>>>> address as a path and the transportId to >>>>>> http://cxf.apache.org/transports/websocket. >>>>>> >>>>>> I did try but I get the following exception: >>>>>> BusException: No DestinationFactory was found for the namespace >>>>>> http://cxf.apache.org/transports/websocket >>>>>> >>>>>> What should I add to get rid of this exception? >>>>>> >>>>>> Regards, >>>>>> JP >>>>>> >>>>>> -----Message d'origine----- >>>>>> De : CLEMENT Jean-Philippe >>>>>> [mailto:jean-philippe.clem...@fr.thalesgroup.com] >>>>>> Envoyé : mercredi 27 juillet 2016 14:44 À : users@cxf.apache.org >>>>>> Objet >>>>>> : RE: Error during WebSocket handshake: Unexpected response code >>>>>> >>>>>> I don't find the issue but something is strange; the /cxf page displays: >>>>>> Endpoint address: >>>>>> http://localhost:8181/cxfws://localhost/socket >>>>>> >>>>>> My blueprint is: >>>>>> <jaxrs:server id="something" address="ws://localhost/socket"> >>>>>> >>>>>> The address parsing seems strange isn't it? >>>>>> >>>>>> Regards, >>>>>> JP >>>>>> >>>>>> -----Message d'origine----- >>>>>> De : Sergey Beryozkin [mailto:sberyoz...@gmail.com] Envoyé : >>>>>> mercredi >>>>>> 27 juillet 2016 14:35 À : users@cxf.apache.org Objet : Re: Error >>>>>> during WebSocket handshake: Unexpected response code >>>>>> >>>>>> I've run a demo which Aki did and it works fine. >>>>>> Yes make sure 'ws:' (or wss:) is used, it enables the loading of >>>>>> the CXF WebSocket transport which can support both WebSocket and 'plain' >>>>>> HTTP >>>>>> >>>>>> Cheers, Sergey >>>>>> On 27/07/16 13:49, CLEMENT Jean-Philippe wrote: >>>>>>> Hi Sergey, >>>>>>> >>>>>>> I added "socket.binaryType= 'arraybuffer';" but I get the same error. >>>>>>> I'm not too sure if it is used or not as I don't know when WebSocket >>>>>>> tries to connect, and setting socket.binaryType or socket.binarytype or >>>>>>> socket.whatEver does not display any error. >>>>>>> >>>>>>> Also, I'm wondering about the CXF configuration, is the binding to a >>>>>>> separate server configured with a "ws://..." (the "ws" part) address >>>>>>> mandatory? >>>>>>> >>>>>>> Regards, >>>>>>> JP >>>>>>> >>>>>>> -----Message d'origine----- >>>>>>> De : Sergey Beryozkin [mailto:sberyoz...@gmail.com] Envoyé : >>>>>>> mercredi >>>>>>> 27 juillet 2016 12:34 À : users@cxf.apache.org Objet : Re: Error >>>>>>> during WebSocket handshake: Unexpected response code >>>>>>> >>>>>>> Hi >>>>>>> On 27/07/16 12:26, CLEMENT Jean-Philippe wrote: >>>>>>>> Dear CXF experts, >>>>>>>> >>>>>>>> I'm trying to connect a web client to a CXF WebSocket. The browser >>>>>>>> logs the error "WebSocket connection failed: Error during WebSocket >>>>>>>> handshake: Unexpected response code: XXX". The XXX response code >>>>>>>> changes depending on the @Produces annotation: 200 when text/plain, >>>>>>>> 406 when text/*. >>>>>>>> >>>>>>> 406 with text/* can be explained by the fact the websocket >>>>>>> client does not know what HTTP Accept is and the spec requires >>>>>>> that when the final response type has a wildcard subtype (with >>>>>>> the only exception being >>>>>>> application/*) then it is 406. >>>>>>>> The server Java looks like this: >>>>>>>> @GET >>>>>>>> @Path("monitor") >>>>>>>> @Produces("text/*") >>>>>>>> public StreamingOutput greetMonitor() { >>>>>>>> return stream -> { >>>>>>>> stream.write("Ok".getBytes()); >>>>>>>> stream.flush(); >>>>>>>> }; >>>>>>>> } >>>>>>>> >>>>>>>> The client Javascript looks like this: >>>>>>>> var socket= new >>>>>>>> WebSocket("ws://myurlwithsameportaswebservice/cxf/test/monitor" >>>>>>>> ) >>>>>>>> ; >>>>>>>> >>>>>>>> socket.onmessage= function(e) { console.log(e.data); }; >>>>>>>> >>>>>>>> What's wrong? >>>>>>> Can you please look at >>>>>>> https://github.com/apache/cxf/blob/master/distribution/src/main/ >>>>>>> r >>>>>>> e l e a s >>>>>>> e/samples/jax_rs/websocket/src/main/resources/index.html >>>>>>> >>>>>>> may be you need to set a socket type >>>>>>> >>>>>>> Cheers, Sergey >>>>>>> >>>>>>>> >>>>>>>> Regards, >>>>>>>> JP >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Sergey Beryozkin >>>>>>> >>>>>>> Talend Community Coders >>>>>>> http://coders.talend.com/ >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> Sergey Beryozkin >>>>>> >>>>>> Talend Community Coders >>>>>> http://coders.talend.com/ >>>>>> >>>>> >>>>> >>>>> -- >>>>> Sergey Beryozkin >>>>> >>>>> Talend Community Coders >>>>> http://coders.talend.com/ >>>>> >>>> >>>> >>>> -- >>>> Sergey Beryozkin >>>> >>>> Talend Community Coders >>>> http://coders.talend.com/ >>>> >>> >>> >>> -- >>> Sergey Beryozkin >>> >>> Talend Community Coders >>> http://coders.talend.com/ >>> >>