Sure, could you please provide the URL where I may find your WebSocket demo?

Regards,
JP

-----Message d'origine-----
De : Sergey Beryozkin [mailto:[email protected]] 
Envoyé : mercredi 27 juillet 2016 16:39
À : [email protected]
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:[email protected]] Envoyé : mercredi 
> 27 juillet 2016 15:46 À : [email protected] 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:[email protected]] Envoyé : mercredi
>> 27 juillet 2016 15:34 À : [email protected] 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:[email protected]] Envoyé : 
>>> mercredi
>>> 27 juillet 2016 15:07 À : [email protected] 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:[email protected]]
>>>> Envoyé : mercredi 27 juillet 2016 14:44 À : [email protected] 
>>>> 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:[email protected]] Envoyé :
>>>> mercredi
>>>> 27 juillet 2016 14:35 À : [email protected] 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:[email protected]] Envoyé :
>>>>> mercredi
>>>>> 27 juillet 2016 12:34 À : [email protected] 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/re
>>>>> 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/
>

Reply via email to