cxf-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From CLEMENT Jean-Philippe <jean-philippe.clem...@fr.thalesgroup.com>
Subject RE: Error during WebSocket handshake: Unexpected response code
Date Fri, 29 Jul 2016 14:09:16 GMT
Ok, I will test (starting from the second week of August) and let you know.

Thanks! :)

Regards,
JP

-----Message d'origine-----
De : Aki Yoshida [mailto:elakito@gmail.com] 
Envoyé : vendredi 29 juillet 2016 15:34
À : CLEMENT Jean-Philippe
Cc : users@cxf.apache.org
Objet : Re: Error during WebSocket handshake: Unexpected response code

or wait a few days and try cxf-3.1.7's feature.


2016-07-29 15:14 GMT+02:00 Aki Yoshida <elakito@gmail.com>:
> My mistake cxf-3.1.x uses atmosphere 2.3.x.
>
> But cxf-3.1.6 doesn't come with the jax_rs_websocket_osgi sample, so 
> there is no mvn:org.apache.cxf.samples/jax_rs_websocket_osgi/3.1.6
> unless you have taken the 3.1.x-SNAPSHOT version and renamed it and 
> built it locally.
> Please try the whole procedure using either 3.2.0-SNAPSHOT or 3.1.8-SNAPSHOT.
> regards, aki
>
> 2016-07-29 10:38 GMT+02:00 CLEMENT Jean-Philippe
> <jean-philippe.clement@fr.thalesgroup.com>:
>> 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:elakito@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.clement@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.clement@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:elakito@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.clement@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:sberyozkin@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:sberyozkin@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:sberyozkin@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:sberyozkin@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.clement@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:sberyozkin@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:sberyozkin@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/mai
>>>>>>>>> n/
>>>>>>>>> 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/
>>>>>
>>>>
Mime
View raw message