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 Wed, 27 Jul 2016 12:44:06 GMT
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/main/releas
> 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/
Mime
View raw message